繁体   English   中英

R是否自动删除“。” 从data.frame列名称?

[英]Does R automatically remove '.' from data.frame column names?

d1 $ Patient .... age = d1 $ Patient .... age吗?

我猜这是导致此行为的简单概念。 这是可预测的可靠行为吗? 即:如果我将data.frame列命名为a ... b,我可以始终通过$ a引用它吗?

源中提供的示例没有解释我在R中看到的内容。

来自http://biostat.mc.vanderbilt.edu/wiki/pub/Main/SvetlanaEdenRFiles/regExprTalk.pdf

d1 = data.frame(id...of....patient = c(1, 2), patient....age = c(3, 4))
d1$patient....age
#[1] 3 4
d1$patient
#[1] 3 4
d1$age
#NULL
d1$id...of....patient
#[1] 1 2
d1$id
#[1] 1 2
d1$id...of
#[1] 1 2
names(id)
#NULL
names(d1)
#[1] "id...of....patient" "patient....age"

R的$运算符接受列名的任何明确前缀作为引用该列。 它与无关. 秒。

例如,尝试:

d1$id...of....patient
# [1] 1 2
d1$id...of....pati
# [1] 1 2
d1$id...o
# [1] 1 2

无论列名中是否包含点,都是如此: mtcars$dispmtcars$dismtcars$di全部返回mtcars数据集的disp列。 (但是, mtcars$d返回NULL ,因为dispdrat列均以d开头)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM