调用dataframes列名时我不明白。 例如:
x1<- data.frame(a.variable=c('1','2','3'), b.variable=c('10','20','30'))
x1$a.variable
# returns [1] 1 2 3 which makes sense
然而,下面这一行对我来说并不合理,因为列&#34; a&#34;不存在。
x1$a
# returns [1] 1 2 3
有人可以帮我理解如何避免这个问题吗?谢谢!
答案 0 :(得分:4)
上述行为描述了$
和[[
之间的一个重要区别。 $
进行部分匹配,而[[
则不进行(默认情况下)。但是,可以使用exact
参数控制此操作,请参阅help(`[`)
:
x1[["a"]]
# NULL
x1[["a", exact = FALSE]]
# [1] "1" "2" "3"