我不知道如何在R中使用类似is.na(x)的函数来处理无限数字,也不知道如何针对每一列显示有多少个Inf:colSums(is.infinite(x))
我使用以下示例数据集:
DT <- data.table(a=c(1/0,1,2/0),b=c("a","b","c"),c=c(1/0,5,NA))
DT
a b c
1: Inf a Inf
2: 1 b 5
3: Inf c NA
colSums(is.na(DT))
a b c
0 0 1
colSums(is.infinite(DT))
Error in is.infinite(DT) : default method not implemented for type 'list'
DT[is.na(DT)] <- 100
DT
a b c
1: Inf a Inf
2: 1 b 5
3: Inf c 100
DT[is.infinite(DT)] <- 100
Error in is.infinite(DT) : default method not implemented for type 'list'
我在这篇文章中找到了如何用NA替换Inf的方法,但我认为还应该有更好的方法来实现,例如使用is.infinite。另外,我想看到每列中的Inf,有什么想法吗?
非常感谢。 BR Tim
colSums(DT=='Inf', na.rm=TRUE)
也可以实现,虽然不够优雅。 - akrunInf
的内容。 - David Arenburg-Inf
。我完全忘了。 - David Arenburg