【发布时间】:2019-11-10 08:52:26
【问题描述】:
我的数据框看起来像这样 -
dataset = data.frame(ID=c(1:3),Count=c(22,NaN,13))
我正在尝试使用管道运算符将 NaN 替换为 0
dataset = dataset %>% replace('NaN',0)
但是这不起作用。 我查看了这个网站上的解决方案,但似乎都没有。
我们将不胜感激。
【问题讨论】:
-
dataset %>% mutate_at(vars(Count), ~replace(., is.nan(.), 0)) -
dataset[is.na(dataset)] <- 0- 不需要 dplyr。 -
@DanM 我添加了几个目标,其中
NaN值被转换为 0。现在应该可以了吗? -
我不认为这个问题是第一个和第二个链接的重复,因为 NA 与 R 中的 NaN 不同。对于第三个和第四个链接,它可能是重复的,但具体在这个问题
dplyr中询问了包。然而,NaN 最常作为 0/0 和 sqrt 或负数的对数计算的结果而产生。因此,删除 NaN 的最佳方法可能是在生成代码之前对其进行更正。 -
@jay.sf 对于这个简单的例子来说,这是可行的,但一般来说,这对于像 OP 想要的那样需要管道操作员的解决方案来说是行不通的。