R:使用多个条件从数据帧中选择子集

时间:2017-07-12 20:54:33

标签: r

我想问R的数据处理问题。

这是原始数据框:

group<-c(rep("a",3), rep("b",4), rep("c",3))
interval<-c(c("1st", "2nd", "3rd"),c("1st", "2nd", "3rd","4th"),c("1st", "2nd", "3rd"))
age<-c(c(10, 20, 23),c(12, 22, 24,30),c(17, 24, 25))

data1<-data.frame(group, interval, age)

enter image description here

我想设置一个R代码来获取矩阵的子集:第一个子集,如果年龄小于15,另一个子集,如果年龄大于20,稍后,我必须在每个子集上应用一些函数子集(我的原始矩阵很长,许多条件必须适用)。

那么如何使用循环为每个子集使用不同的条件得到矩阵的子集:

[![在此处输入图像说明] [2]] [2]

我想在循环中使用subset()函数:

任何人都可以帮助我吗?

谢谢!

我感谢任何回复!

1 个答案:

答案 0 :(得分:2)

不使用子集,您可以执行以下操作:

data1[ group %in% data1[data1$interval=="1st" & data1$age<15, "group"] & 
       data1$interval=="2nd",]