ifelse函数帮助:如果因子为true,则值为NA

时间:2018-01-16 00:44:44

标签: r if-statement na

我有一个数据框:

MYDATA:

         Date  error  variable  value
1  2016-06-16     NA C13uptake     NA
2  2016-06-17 0.0004 C13uptake 0.0065
3  2016-06-18     NA C13uptake     NA
4  2016-06-19 0.0085 C13uptake 0.0625
5  2016-06-20 0.0106 C13uptake 0.0890
6  2016-06-21 0.0179 C13uptake 0.1825
7  2016-06-22     NA C13uptake     NA
8  2016-06-23 0.0065 C13uptake 0.1299
9  2016-06-16     NA     cal5C     NA
10 2016-06-17 0.0006     cal5C 0.0046
11 2016-06-18     NA     cal5C     NA
12 2016-06-19 0.0070     cal5C 0.0820
13 2016-06-20     NA     cal5C     NA
14 2016-06-21 0.0129     cal5C 0.1600
15 2016-06-22     NA     cal5C     NA
16 2016-06-23     NA     cal5C     NA
17 2016-06-24 0.0170     cal5C 0.1500

我想将cal5C变量的所有错误转换为NA' s

即。如果因子(变量)是cal5C则其误差为NA。

我很确定这是一个简单的ifelse函数 - 但它不是我用过的函数。

我认为它可能类似于以下内容 - 但这不起作用。

mydata$error <- ifelse(is.na(mydata$error) | mydata$variable %in% "cal5C")

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

所以这个问题没有答案......

您不需要ifelse,只需索引要设置的数组元素即可。

mydata$error[mydata$variable == "cla5C"] = NA