ifelse 函数帮助:if factor true then value is NA

ifelse function help: if factor true then the value is NA

我有一个数据框:

我的数据:

         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 的

即如果因子(变量)是 cal5C 那么它的误差是 NA。

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

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

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

感谢任何帮助。

所以问题不是没有答案...

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

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