Name AGE Order
Anna 25 1
Anna 28 2
Peter 10 1
Paul 15 1
Mary 14 1
John 8 1
Charlie 24 2
Robert 20 2
对于Just Order = 1,我需要过滤器AGE> = 10& AGE< = 15。所以输出文件必须是:
Name AGE Order
Anna 28 2
Peter 10 1
Paul 15 1
Mary 14 1
Charlie 24 2
Robert 20 2
请问你能帮帮我吗?
答案 0 :(得分:1)
我们可以使用矢量化ifelse
对于Order = 1
检查AGE
是否在10-15范围内,请按原样选择休息行。
df[ifelse(df$Order==1, df$AGE >= 10 & df$AGE <= 15, TRUE), ]
# Name AGE Order
#2 Anna 28 2
#3 Peter 10 1
#4 Paul 15 1
#5 Mary 14 1
#7 Charlie 24 2
#8 Robert 20 2
我们也可以合并到:
subset(df, AGE >= 10 & AGE <= 15 | Order != 1)