循环遍历列并将迭代编号添加到相应的列名称

时间:2018-02-16 16:36:32

标签: r loops

我有一个包含实验数据的数据框。我想用以下方式命名数据框的某些部分:" expA_mult4_belA4"并添加后缀" _inv"其中inv是从1到10的循环迭代。

for(inv in 1:10){ colnames(data)[18:27] <- paste("expA_mult4_belA4",inv,sep="_") }

代码输出很接近,但问题是对于第18到27列中的所有变量,后缀始终为10.我希望后缀用于第一个变量1,第二个,...,第十个10 。 提前致谢。

1 个答案:

答案 0 :(得分:1)

您不需要循环:

data <- iris
colnames(data)[2:3] <- paste("test",1:2,sep="_")
head(data)  
#   Sepal.Length test_1 test_2 Petal.Width Species
# 1          5.1    3.5    1.4         0.2  setosa
# 2          4.9    3.0    1.4         0.2  setosa
# 3          4.7    3.2    1.3         0.2  setosa
# 4          4.6    3.1    1.5         0.2  setosa
# 5          5.0    3.6    1.4         0.2  setosa
# 6          5.4    3.9    1.7         0.4  setosa