【问题标题】:issue with variable names including dots变量名(包括点)的问题
【发布时间】:2018-06-19 07:56:39
【问题描述】:

在调用数据框列名时有一些我不明白的地方。 例如:

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

但是,下面的行对我来说没有意义,因为“a”列不存在。

x1$a
# returns [1] 1 2 3

有人可以帮助我了解如何避免该问题吗?谢谢!

【问题讨论】:

  • $ 进行部分匹配,请尝试使用x1[["a"]]
  • @markus 非常感谢!这行得通!

标签: r dataframe


【解决方案1】:

上述行为描述了$[[ 之间的一个重要区别。 $ 进行部分匹配,[[ 没有(默认情况下)。这可以使用exact 参数进行控制,请参阅help(`[`)

x1[["a"]]
# NULL

x1[["a", exact = FALSE]]
# [1] "1" "2" "3"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多