R:Select 仅值大于特定值的行映射到值为是或否的另一列
R: Select only Rows where value greater than a certain value and Mapped to another column where value is Yes or No
我有一个数据框
df:
Age Answer
25 No
51 No
45 Yes
49 Yes
25 Yes
60 Yes
我想知道 >= 40
和回答 Yes
的人的年龄
所以
df:
Age
45
49
60
事实证明这很容易。
x = df[df$Answer == "Yes"]
x = df[df$Age >= 40]
x$Age
我们可以使用subset
> subset(df, Age >=40 & Answer == "Yes")
Age Answer
3 45 Yes
4 49 Yes
6 60 Yes
您还可以使用 dplyr::filter
过滤 Age >= 40
和 Answer == "Yes"
,然后 select Age
列 dplyr::select
:
Age <- c(25, 51, 45, 49, 25, 60)
Answer <- c(rep("No", 2), rep("Yes", 4))
df <- data.frame(Age, Answer)
library(dplyr)
df2 <- df %>%
filter(Age >= 40, Answer == "Yes") %>%
select(Age)
df2
Age
1 45
2 49
3 60
我有一个数据框
df:
Age Answer
25 No
51 No
45 Yes
49 Yes
25 Yes
60 Yes
我想知道 >= 40
和回答 Yes
的人的年龄
所以
df:
Age
45
49
60
事实证明这很容易。
x = df[df$Answer == "Yes"]
x = df[df$Age >= 40]
x$Age
我们可以使用subset
> subset(df, Age >=40 & Answer == "Yes")
Age Answer
3 45 Yes
4 49 Yes
6 60 Yes
您还可以使用 dplyr::filter
过滤 Age >= 40
和 Answer == "Yes"
,然后 select Age
列 dplyr::select
:
Age <- c(25, 51, 45, 49, 25, 60)
Answer <- c(rep("No", 2), rep("Yes", 4))
df <- data.frame(Age, Answer)
library(dplyr)
df2 <- df %>%
filter(Age >= 40, Answer == "Yes") %>%
select(Age)
df2
Age
1 45
2 49
3 60