「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"