为什么$在用于数据框时猜测列名?

时间:2013-11-29 11:30:37

标签: r

在数据框中选择列时,我偶然发现了$运算符的令人惊讶的行为:

gg <- data.frame(faa = 1:10, gaa = rep(c("x", "y"), 5))  

gg$f
# [1]  1  2  3  4  5  6  7  8  9 10

我一直认为你必须使用$的确切列名,也许是因为它是"["的工作原理。似乎$运算符会猜测列名的其余部分,因为没有其他列以f开头。

ggg <- data.frame(faa = 1:10, gaa = rep(c("x", "y"), 5), faagaa = 1:10)
ggg$f
# NULL
ggg$faag
# [1]  1  2  3  4  5  6  7  8  9 10 
  1. 这种行为长期以来一直是R功能的一部分(因为我之前没有经历过这种行为)或者它是否相对较新?
  2. 它是如何工作的?即这种行为背后的机制是什么?
  3. 在使用R时,如何使用它作为优势? (其他情况,$以类似的方式工作)

0 个答案:

没有答案