R是否有理由不允许我将数字作为数据框的列名?
另请注意,如果我执行data.frame(XX)
,则会在前面有数字的所有列标题中添加X
。
答案 0 :(得分:25)
为我工作
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
答案 1 :(得分:19)
是的,因为R不允许对象名称以数字开头。如果您使用data.frame调用attach()
,则会导致一些问题。
data.frame
(和read.table
)函数具有check.names
参数(默认为TRUE
)
如果
TRUE
,则检查数据框中变量的名称,以确保它们在语法上是有效的变量名,并且不会重复。如有必要,可以调整它们(make.names
),以便它们可以。
来自?make.names
:
语法上有效的名称由字母,数字和点或下划线字符组成,以字母或点开头,后面没有数字。 [...]必要时会加上字符“
X
”。