Rがデータフレームの列名として番号を使用できない理由はありますか?
また、data.frame(XX)
を実行すると、先頭に数字があるすべての列ヘッダーにX
が追加されることにも注意してください。
はい。Rではオブジェクトの名前を数字で始めることはできないためです。 data.frameを使用してattach()
を呼び出すと、いくつかの問題が発生します。
data.frame
(およびread.table
)関数にはcheck.names
パラメーターがあります(デフォルトはTRUE
)
TRUE
の場合、データフレーム内の変数の名前がチェックされ、構文的に有効な変数名であり、重複していないことが確認されます。必要に応じて、(make.names
によって)調整されます。
?make.names
から:
構文的に有効な名前は、文字、数字、ドットまたは下線文字で構成され、文字またはドットの後に数字が続きません。 [...]必要に応じて、文字「
X
」が先頭に追加されます。
私のために働く
data.frame(`1`=rnorm(3), `2`=head(letters,3), check.names=FALSE)
# 1 2
# 1 0.5019 a
# 2 1.1148 b
# 3 0.4787 c