问题

我有一个名为"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")功能,但无效.

有人可以帮我找出这个吗?



解决方法

使用 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"



相关问题推荐