将具有特定条件的id提取到列表或向量

时间:2014-05-16 01:34:12

标签: r row extract conditional-statements

假设我有一个数据框z

id num
 1   5
 2   6
 3   7

我希望其id大于num的{​​{1}}列表,在这种情况下

5

我尝试了c(6, 7) ,但收到了错误消息:

x<-z[z$num>5,id]

有什么建议吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

你可以试试 z <- data.frame(id=1:3,num=5:7) x<-z[z$num>5,] x$id 这会给你你想要的。

答案 1 :(得分:0)

当我跑

时,这很奇怪
z <- data.frame(
    id=1:3,
    num=5:7
}
x<-z[z$num>5,id]

我收到了错误&#34; object&#39; id&#39;没找到。&#34;所以也许你的代码中可能有一个名为id的变量。

但是这个想法是[,]语法要求每个部分都是数字向量或字符向量。如果您只输入id,它会尝试查找名为id的变量,其中包含您想要的列列表。如果你想真正得到&#34; id&#34;无需创建变量的列,您只需要使用字符文字指定列名称。所以

x<-z[z$num>5,"id"]

应该可以正常工作。