【发布时间】:2021-01-15 00:46:25
【问题描述】:
我对 R 相当陌生,我觉得这应该很简单,但我不断收到错误。我有一个名为 Master2 的数据表,其中包含在不同站点获取的几种分析物的浓度数据。我的分析物是我的列名。每列中存在多个 ND 或未检测值。我想将我的 TKN 列中的 ND 更改为 0.05,将所有其他列中的 ND 更改为 0.005。
我能够使用以下代码轻松地将框架中的所有值更改为 0.005:
Master2 % mutate_if(is.character, ~ if_else(. == "ND", "0.005", .))
在运行这行代码之前,我尝试了多种方法(替换、mutate_at...)来尝试单独更改 TKN 列中的 ND,但没有成功。以下是我的数据模型,非常感谢任何帮助!
Master2 <- structure(list(Station = c(C3A,C3A,C3A,MD10,MD10,MD10,C10A),
Date = c(1/15/2009,1/16/2009,1/17/2009,1/18/2009,1/19/2009,1/20/2009,1/21/2009),
DissAmmonia = c(0.3,0.25,0.18,ND,1.2,0.5,0.8),
DissNitrateNitrite = c(0.6,ND,0.15,0.2,0.4,0.6,ND),
TotPhos = c(0.1,0.3,ND,0.4,0.2,0.12,0.1),
TKN = c(ND,0.2,0.13,0.5,ND,0.8,1.2)))
【问题讨论】:
-
你能用 NA 值而不是字符串 'ND' 来表示 'ND' 吗?这将允许您使用所有内置的 NA 方法。
-
嗨...您的
dput不可重现并会出现错误。