Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 仅更改某些列的名称_R - Fatal编程技术网

R 仅更改某些列的名称

R 仅更改某些列的名称,r,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(g

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

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))
,并且我知道如何从第一行(
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)))]

colnames(f[,c(grep(^V[0-9]*$,names(f))))]您可以这样做:

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

colnames(f)[grep(^V[0-9]*$”,names(f))]如果您知道列的顺序
V
,这也应该有效

V1 <- c('Column Hey','1e','2e','3e','4e','5e')
V2 <- c('Column Why', 'a', 'b','c', 'd', 'e') 
X <- data.frame(V1,V2,stringsAsFactors =F)
colnames(X)[1:2] <-  as.character(X[1,1:2])
X<-X[2:nrow(X),]

V1尝试
指示在将结尾处的
x
更改为
f
后,这就成功了!我显然是把事情复杂化了。谢谢你的帮助。哦,对不起,你说得对,结尾处应该是
f
。很高兴它还是有帮助的。别忘了删除第一行:
f这是一个微妙的变化。这很有意义现在我看到了,谢谢。