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"
答案 0 :(得分:4)
R' $
运算符接受列名称的任何明确前缀作为引用该列。它与.
无关。
例如,尝试:
d1$id...of....patient
# [1] 1 2
d1$id...of....pati
# [1] 1 2
d1$id...o
# [1] 1 2
无论列名称中是否有点,都是如此:mtcars$disp
,mtcars$dis
和mtcars$di
都返回disp
的{{1}}列数据集。 (但是,mtcars
会返回mtcars$d
,因为NULL
和disp
列都以drat
开头。