用R

时间:2018-12-01 09:37:27

标签: r dataframe for-loop

我是R新用户。我试图将整个数据集的第i列的名称替换为第i列的名称。 我的数据集中有96列。 以下for循环不起作用。

for (i in dat[2:96]){
names(dat)[i]<-paste(names(dat)[i-1])
}

3 个答案:

答案 0 :(得分:1)

不需要循环。

.bashrc

这还将第一列的名称更改为“ firstcol”,以避免两列具有相同的名称。

答案 1 :(得分:0)

对于您的任务,无需使用循环,而可以使用向量化方法。在R中,您应该始终注意矢量化代码的选项,因为它比循环更简洁,更快捷。这并不意味着循环本身就不好,您应该检查是否可以使用更简单的方法。

对于您的情况,可以使用基于索引的名称替换,如下所示。

names(dat) <- c("firstcol", names(dat)[1:95])

答案 2 :(得分:0)

这可以不循环且不更改第一列的名称。

library(rlang)
set_names(dat, nm = c(colnames(dat[1]), colnames(dat[1:95])))