hsl*_*hsl 5 r subset dataframe dplyr
我有这个数据框,我想将其作为子集(如果可能,请使用dplyr或base R函数):
df <- data.frame(x = c(1,1,1,2,2,2), y = c(30,10,8,10,18,5))
x y
1 30
1 10
1 8
2 10
2 18
2 5
Run Code Online (Sandbox Code Playgroud)
假设x是因子(所以2个条件/水平),我如何子集/过滤该数据帧,以便仅获得df$y大于的15的值df$x == 1和df$y大于5的值df$x == 2?
这就是我想要得到的:
df2 <- data.frame(x = c(1,2,2), y = c(30,10,18))
x y
1 30
2 10
2 18
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助!谢谢!
你可以试试这个
with(df, df[ (x==1 & y>15) | (x==2 & y>5), ])
x y
1 1 30
4 2 10
5 2 18
Run Code Online (Sandbox Code Playgroud)
或与dplyr
library(dplyr)
filter(df, (x==1 & y>15) | (x==2 & y>5))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2274 次 |
| 最近记录: |