繁体   English   中英

R:仅 Select 值大于某个值并映射到值为是或否的另一列的行

[英]R: Select only Rows where value greater than a certain value and Mapped to another column where value is Yes or No

我有一个 dataframe

df:
   Age   Answer
   25      No
   51      No
   45      Yes
   49      Yes
   25      Yes
   60      Yes

我想知道那些>= 40并且回答Yes的人的年龄

df:
   Age
   45
   49
   60

我们可以使用subset

> subset(df, Age >=40 & Answer == "Yes")
  Age Answer
3  45    Yes
4  49    Yes
6  60    Yes

事实证明这很容易。

x = df[df$Answer == "Yes"]
x = df[df$Age >= 40]
x$Age

You can also use dplyr::filter to filter Age >= 40 and Answer == "Yes" and then select Age column with 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM