我正在使用cbind()
组合数据表中的列,其中一些列碰巧具有相同的名称但数据不同,R通常会通过在初始列名称后添加..1来捕获和更改它们,但是我猜想使用cbind()
阻止了R捕获它?我想重命名通常使用colnames(data)[colnames(data)=="column"] <- column..1
的列,但是由于这2列具有相同的名称,因此不能更改其中的一列而又不能更改另一列。我该如何解决?
答案 0 :(得分:1)
一种简单的方法是使用janitor
软件包。
df <- cbind(data.frame(col1 = c(1,2)), data.frame(col1 = c(2,3)))
df
#> col1 col1
#> 1 1 2
#> 2 2 3
然后我们使用clean_names
函数进行整理
janitor::clean_names(df)
#> col1 col1_2
#> 1 1 2
#> 2 2 3
答案 1 :(得分:0)
您可以使用:
重命名所有列colnames(data)<-c("col1","col2","col3", etc)
或者如果您知道只有两列具有相同的名称,则可以执行以下操作:
colnames(data)[colnames(data)=="column"] <- c("col1","col2")
另一种解决方案是在应用cbind()之前重命名列