代码之家  ›  专栏  ›  技术社区  ›  Nathan123

如果两个值与R中的某个条件匹配,如何创建具有逻辑值的列?

r
  •  0
  • Nathan123  · 技术社区  · 6 年前

    我有下面的数据框。以及他们所属的薪资组,以及他们是否完成了课程。

    names<-c('A','B','C','D')
    pay.group <-c('paying','non-paying','non-paying','paying')
    status<-c('completed','completed','terminated','terminated')
    
    pay.group<-as.factor(pay.group)
    status<-as.factor(status)
    
    df<-data.frame(names,pay.group,status)
    
    
    
    names  pay.group     status
    1     A     paying  completed
    2     B non-paying  completed
    3     C non-paying terminated
    4     D     paying terminated
    > 
    

    基本上我想创建一个逻辑条目 TRUE 在一个名为 df$paidandcomplete 如果参与者的薪资组是 paying 和状态 completed

    我该怎么做。我可以不用循环吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   SmitM    6 年前

    ifelse 陈述

    df$paidandcomplete <- ifelse(df$pay.group == "paying" & df$status == "completed",TRUE, FALSE)