仅更改某些列的名称

时间:2016-02-08 21:40:13

标签: r

我有一组如下所示的数据:

V1,V2,V3,V4,lm,Q1.1,Q1.2
"ID","Set","Name","Status","lm","First Question","Second Question"
"RX0102","Default","RespondentName1",0,,1,1
"RT1832","Default","RespondentName2",0,,1,1

我想获取名称以V开头的所有列,并使用第一行中的值重命名它们。我知道如何获取名称(colnames(f[,c(grep("^V[0-9]*$",names(f)))])将返回"V1", "V2", "V3", "V4"),甚至是列(grep("^V[0-9]*$",names(f))将返回1, 2, 3, 4)列,我知道如何从第一行(f[1,c(grep("^V[0-9]*$", names(f)))])获取相应的值。我似乎无法将第一行值分配给名称。我试过这个:

colnames(f[,c(grep("^V[0-9]*$",names(f)))]) <- f[1,c(grep("^V[0-9]*$", names(f)))]

但这没有任何作用。有人可以告诉我我做错了吗?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

/\n------$/

答案 1 :(得分:0)

如果您知道列resize的顺序......这也应该有效。

V