【问题标题】:Select a column from a pre-specified character in R [duplicate]从R中的预先指定的字符中选择一列[重复]
【发布时间】:2015-09-09 18:32:17
【问题描述】:

我有一个包含以下列名称的数据集:

> colnames(newdat1)
[1] "i4" "i2" "i3" "i1" "b4" "b3" "b2" "b1"

我还有一个变量“newDV”,如果 newdat1,它将始终是因变量的列名

> newDV
[1] "i1"

如何获取 newdat1 中与 newDV 对应的列?这个想法是我不想手动输入 newDV 对应的项目,例如 newdat1$i1 在这种情况下。我已经尝试了以下

> gettheDV<-paste("newdat1",newDV,sep="$",collapse="")
> gettheDV
[1] "newdat1$i1"

我不确定这是否在正确的轨道上,但我们将不胜感激。 谢谢!

【问题讨论】:

  • 你试过newdat1[, newDV]吗?
  • 还有newdat1[[newDV]]
  • 成功了,谢谢。
  • @arvi1000 听起来我们的一个或两个建议都解决了 OP 的问题。您为什么不继续将其发布为答案?

标签: r string subset


【解决方案1】:

好的,data.frame 101!

newdat1[, newDV] 或 newdat1[[newDV]] 应该这样做。还要感谢用户 Alex A。

(额外说明:如果您想返回多列,第一种语法将接受列名向量。后者仅检索单个列,并且通常也可用于处理列表,其中 data.frame基本上是一种特殊情况。基本 R 文档中有更多详细信息)

【讨论】:

    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2015-01-02
    • 2020-11-07
    相关资源
    最近更新 更多