我有一个超过200,000行的数据集,当我执行summary(df)
时,我注意到其中包含Inf
。但是,当我尝试使用any(is.na(Data) | is.infinite(Data))
进行检查时,出现此错误
Error in is.infinite(Data) :
default method not implemented for type 'list'
然后我试图用NA
替换Inf
,但我得到了同样的错误。
>Data[is.infinite(Data)] <- NA
Error in is.infinite(Data) :
default method not implemented for type 'list'
拜托,我是不是做错了什么?
1条答案
按热度按时间2wnc66cl1#
实际上,数据框是
list
的一种特殊类型,正如消息中所说,is.infinite
不能用于列表。相反,我们需要将NA替换应用到数据框中的每一列。
另一种需要较少代码的方法是将 Dataframe 动态转换为矩阵,以获得应用于 Dataframe 本身的替换索引,从而进行子集化。
创建于2023年2月16日,使用reprex v2.0.2