例如,我有以下数据
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+
)到字符串的末尾( $
)并替换为 ''
.
names(df) <- sub('_\\d+$', '', names(df))
或者正如@David Arenburg 提到的,它可以是
.*
之后的任何字符( _
)中的一个或多个(这将匹配诸如 var1_1
、 var1_d3533
等模式)names(df) sub("_.*", "", df)
或者我们使用
paste
(@jogo 的评论)names(df) <- c("Ind", paste0("var", 1:100))
关于r - 删除列名中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615460/