为了账号安全,请及时绑定邮箱和手机立即绑定

更改数据框的列名称

更改数据框的列名称

慕姐4208626 2019-09-18 11:19:37
我有一个名为“newprice”的数据框(见下文),我想在R中改变程序中的列名。> newprice   Chang.  Chang.   Chang.1     100       36      1362     120      -33       873     150       14      164事实上,这正在做什么:names(newprice)[1]<-paste("premium")names(newprice)[2]<-paste("change")names(newprice)[3]<-paste("newprice") 我没有将它放在循环中,因为我希望每个列名称与您看到的不同。当我将程序粘贴到R控制台时,这是它给我的输出:> names(newprice)[1]<-paste(“premium”)Error: unexpected input in "names(newprice)[1]<-paste(“"> names(newprice)[2]<-paste(“change”)Error: unexpected input in "names(newprice)[2]<-paste(“"> names(newprice)[3]<-paste(“newpremium”)Error: unexpected input in "names(newprice)[3]<-paste(“"我同样尝试使用该c()功能 - 例如c("premium"),而不是paste()功能,但无济于事。有人可以帮我解决这个问题吗?
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

使用colnames()功能:


R> X <- data.frame(bad=1:3, worse=rnorm(3))

R> X

  bad     worse

1   1 -2.440467

2   2  1.320113

3   3 -0.306639

R> colnames(X) <- c("good", "better")

R> X

  good    better

1    1 -2.440467

2    2  1.320113

3    3 -0.306639

你也可以分组:


R> colnames(X)[2] <- "superduper"


查看完整回答
反对 回复 2019-09-18
?
DIEA

TA贡献1820条经验 获得超2个赞

我用这个:


colnames(dataframe)[which(names(dataframe) == "columnName")] <- "newColumnName"


查看完整回答
反对 回复 2019-09-18
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

该错误是由“智能引号”(或称为它们)引起的。这里的教训是,“不要在'编辑器'中编写代码,将引号转换为智能引号”。


names(newprice)[1]<-paste(“premium”)  # error

names(newprice)[1]<-paste("premium")  # works

此外,您不需要paste("premium")(调用paste是多余的)并且最好放置空格<-以避免混淆(例如x <- -10; if(x<-3) "hi" else "bye"; x)。


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 810 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信