根据一列中的值更改另一列中的值

时间:2015-06-11 07:16:51

标签: r

我创建了一个像这样的表“考试”

         names marks result
1       dinesh    60   pass
2       aiysha    70   pass
3         ravi    40   fail
4       rajesh    55   pass
5     achyuthy    80   pass
6      snigdha    30   fail
7      mounica     0   pass
8                 55   pass
9                  0   fail
10      mourya     0   pass
11 deepa sinde    25       
12 hima sekhar    55   pass
13                30   fail
14      dhatri    60       

在上表中,我想根据“标记”列更改结果列,我的条件是标记< 50“fail”else“pass”

我用过:

ifelse(examres$marks<50,examres$result<-"fail",examres$result<-"pass")

但它不起作用。

1 个答案:

答案 0 :(得分:3)

几乎是正确的,试试这个:

examres$result <- ifelse(examres$marks<50,"fail","pass")
  

ifelse - 说明

     

ifelse返回一个与填充的test相同形状的值   选择是或否的元素取决于是否   test元素为TRUE或FALSE。

     

用法
  ifelse(测试,是,否)

将名称空白时更改为NA - ""

examres$names[examres$names == ""] <- NA

注意,在reading in the file时使用na.strings选项。然后我们会完全避免NA问题。