Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除列名中的字符_R_Rename - Fatal编程技术网

R 删除列名中的字符

R 删除列名中的字符,r,rename,R,Rename,例如,我有以下数据 Ind var1_1 var2_2 var3_1 var4_2.......var100_1 1 0 0 2 1 0 2 2 0 1 0 2 我想重命名后面没有两个字符的列,如下所示 Ind var1 var2 var3 var4.......var100 1 0 0 2 1 0 2 2 0

例如,我有以下数据

Ind var1_1 var2_2 var3_1 var4_2.......var100_1
 1   0      0       2      1             0
 2   2      0       1      0             2
我想重命名后面没有两个字符的列,如下所示

Ind var1 var2 var3 var4.......var100
 1   0     0    2    1           0
 2   2     0    1    0           2

我们可以使用
sub
。我们将模式
\
后跟一个或多个数字(
\\d+
)匹配到字符串的结尾(
$
),并替换为
'

或者我们使用
粘贴
(@jogo的评论)

names(df)您可以只执行
sub(“.*”,“”,x)
,在这种情况下可能是
names(df)
names(df) <- sub('_\\d+$', '', names(df))
names(df) sub("_.*", "", df)
names(df) <- c("Ind", paste0("var", 1:100))