我的数据框长这样 -
dataset = data.frame(ID=c(1:3),Count=c(22,NaN,13))
我尝试使用管道运算符将NaN替换为0。
dataset = dataset %>% replace('NaN',0)
但是这不起作用。 我已经查看了这些网站上的解决方案,但都无法解决问题。 非常感谢您提供任何帮助。
dataset$Count[is.nan(dataset$Count)]<-0
Error in is.nan(df) : default method not implemented for type list
。你知道问题是什么或者如何解决吗? - user20203146
dataset[is.na(dataset)] <- 0
这行代码可以直接使用,不需要使用 dplyr 包进行处理。它的作用是将数据集中的缺失值(NA)替换为0。 - jay.sfdplyr
。然而,NaNs通常是由于不可能的计算(如0/0和负数的sqrt或log)产生的。因此,最好的方法是在产生NaN之前先纠正代码来消除它们。 - LuizZmutate_at
已被取代。@RonakShah的答案更新版本为:dataset%>% mutate(across(Count,〜replace(。,is.nan(.),0)))
。 - Earliendataset |> mutate(across(everything(), ~replace_na(., 0)))
- kraggle