【问题标题】:R: Can't select a specific column in a data frameR:无法选择数据框中的特定列
【发布时间】:2012-07-04 14:02:46
【问题描述】:

我对选择给定列的功能有疑问。我有一个名为 Volume 的数据框,我想从中创建一个子集 DateSearch:

DateSearch = subset(Volume,select=c("TRI",name))

由于某种原因,它不起作用。我用过浏览器()。我可以选择 TRI 或名称,但不能同时选择两者(无论是名称还是索引)。我尝试过使用和不使用“”。

有人知道这是为什么吗?

非常感谢, 文森特

【问题讨论】:

  • 您的 select 参数不正确:c("TRI", "name").
  • 您收到的错误信息是什么?或者如果没有错误信息,实际结果与预期结果有何不同?
  • name 是之前用 as.character() 读取的变量,错误信息是选择了未定义的列

标签: r select subset


【解决方案1】:

我只是做了你描述的(我认为):

str(dfrm)
#'data.frame':  20 obs. of  8 variables:
# $ ID     : int  1 2 3 4 5 6 7 8 9 10 ...
# $ factor1: Factor w/ 4 levels "Not at all","To a small extent",..: 3 2 3 NA 3 NA 3 NA 4 1 ...
##   <snip>

 name = "factor1"
 subset(dfrm, select=c("ID", name))

没有错误,....结果符合预期。

仔细检查拼写。我的猜测是,as.character 结果的开头或结尾有一个空格。甚至可能是非印刷字符?可以使用nchar(name)查看。

【讨论】:

  • 检查:不是那样的。我的数据框的名称列的类型是否与字符不同?
  • 很容易检查。 str(names(dfrm))
  • 是时候停止猜测了:需要可重复的例子。使用dput 显示head(dfrm)name
  • 谢谢你的头。我的脑袋很乱。
  • dput(name) 返回我认为我拥有的标题。 dput(head(dfrm)) 返回标题的一部分,以及链接到一些向量的一些名称
猜你喜欢
  • 2020-06-23
  • 2022-07-08
  • 2020-10-13
  • 2021-08-23
  • 1970-01-01
  • 2019-10-18
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多