更改数据框的列名称

我有一个名为“newprice”的数据框(见下文),我想在R中改变程序中的列名。


> newprice

   Chang.  Chang.   Chang.

1     100       36      136

2     120      -33       87

3     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()功能,但无济于事。


有人可以帮我解决这个问题吗?


慕姐4208626
浏览 783回答 3
3回答

慕莱坞森

使用colnames()功能:R> X <- data.frame(bad=1:3, worse=rnorm(3))R> X&nbsp; bad&nbsp; &nbsp; &nbsp;worse1&nbsp; &nbsp;1 -2.4404672&nbsp; &nbsp;2&nbsp; 1.3201133&nbsp; &nbsp;3 -0.306639R> colnames(X) <- c("good", "better")R> X&nbsp; good&nbsp; &nbsp; better1&nbsp; &nbsp; 1 -2.4404672&nbsp; &nbsp; 2&nbsp; 1.3201133&nbsp; &nbsp; 3 -0.306639你也可以分组:R> colnames(X)[2] <- "superduper"

DIEA

我用这个:colnames(dataframe)[which(names(dataframe) == "columnName")] <- "newColumnName"

慕勒3428872

该错误是由“智能引号”(或称为它们)引起的。这里的教训是,“不要在'编辑器'中编写代码,将引号转换为智能引号”。names(newprice)[1]<-paste(“premium”)&nbsp; # errornames(newprice)[1]<-paste("premium")&nbsp; # works此外,您不需要paste("premium")(调用paste是多余的)并且最好放置空格<-以避免混淆(例如x <- -10; if(x<-3) "hi" else "bye"; x)。
打开App,查看更多内容
随时随地看视频慕课网APP