データフレームの列名を変更する 質問する

データフレームの列名を変更する 質問する

「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()

誰かこれを理解するのを手伝ってくれませんか?

ベストアンサー1

次の関数を使用します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"

おすすめ記事