1. ホーム
  2. r

[解決済み] data.frameの1つの列の名前を変更する方法は?

2022-03-23 02:05:47

質問

複数のカラムを持つデータフレームがある場合、そのカラムを使用できることは知っています。

colnames(x) <- c("col1","col2")

を使ってカラムの名前を変更します。列が1つだけの場合、どうすればいいのでしょうか? 列が1つだけのベクトルやデータフレームを意味する。

trSamp <- data.frame(sample(trainer$index, 10000))
head(trSamp )
#   sample.trainer.index..10000.
# 1                      5907862
# 2                      2181266
# 3                      7368504
# 4                      1949790
# 5                      3475174
# 6                      6062879

ncol(trSamp)
# [1] 1
class(trSamp)
# [1] "data.frame"
class(trSamp[1])
# [1] "data.frame"
class(trSamp[,1])
# [1] "numeric"
colnames(trSamp)[2] <- "newname2"
# Error in names(x) <- value : 
#   'names' attribute [2] must be the same length as the vector [1]

解決方法は?

colnames(trSamp)[2] <- "newname2"

は2番目のカラムの名前を設定しようとしています。 あなたのオブジェクトは1つのカラムしか持っていないので、コマンドはエラーを投げます。 これで十分でしょう。

colnames(trSamp) <- "newname2"