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

R 根据一列中的值更改另一列中的值,r,R,我创建了一个表“examres”,如下所示 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

我创建了一个表“examres”,如下所示

         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       

在上表中,我想根据“marks”列更改结果列,我的条件是marks几乎正确,请尝试以下操作:

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

请注意,如果需要,请使用
na.strings
选项。那么我们就可以完全避免NA问题。

同样,您可以建议我如何将“examres$names”列中的空值替换为“NULL”,这对我会有很大帮助please@Dinesh哪个列中的空值?最好将空字符串
'
替换为
NA
,因为
NULL
不能用于向量或数据。帧列除非是字符串(这并不比
'
好)@akrun如何将空字符串“”替换为NAplese@Dinesh有很多种方法,
is.na(examres$names)其他选项包括
as.character(factor(examres$marks<50,labels=c('pass','fail'))
c('pass','fail')[(examres$marks<50)+1L]
@Pascal目前很难判断什么是空的。但是逻辑基本上是简单的,相同的,找到空的并替换为
NA
。如果有空格,则
examres$names[grep(“^\\s*$”,examres$names)]
examres$result <- ifelse(examres$marks<50,"fail","pass")
examres$names[examres$names == ""] <- NA