供应check.names=FALSE
给read.table
.
请注意,当data.frame
s 具有诸如此类的非标准名称时,对其列的任何引用都必须用刻度线括起来,例如
my.df <- read.table(text='1,2,3
1,2,3
4,5,6
7,8,9', header=TRUE, sep=',', check.names=FALSE)
my.df$`1`
with(my.df, `1`)
attach(k)
`1`
此外,对 1 的调用transform
将transform(my.df,
使用其标准化形式 ( , , )=1:3)
替换列名,因为使用其默认参数进行调用。X1
X2
X3
transform
data.frame()
设置check.names=FALSE
虽然在某些非常特殊的情况下很有用,但将允许重复的列名和非语法名称,这可能会在以后导致任何数量的问题。使用时要小心。
data.frame()
默认情况下使用check.names=TRUE
,因为在许多情况下,R 试图将数据框的列名解释为它们自己的变量;如果列名不是语法上有效的名称(请参阅 参考资料?make.names
),或者如上所述受反引号保护,则在这些上下文中将发生错误。