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