我想要删除所有包含 data.table
的行中任意一列包含 Inf
的内容。目前,我使用以下方法:
DT <- data.table(col1 = c(1,2,3), col2 = c(4,Inf,5))
DT[,drop := apply(.SD, 1, function(x) any(is.infinite(x))), by = 1:nrow(DT)]
DT <- DT[(!drop)][,drop:=NULL]
这是来自Stackoverflow问题的内容。然而,对于大量数据,这种方法并不可扩展。是否有更好的方法来删除具有Inf
的行?
DT[DT[, Reduce('&', lapply(.SD, is.finite))]]
。 - akrunrowSums
:DT[is.finite(rowSums(DT))]
пјҹиҜ·жіЁж„ҸпјҢиҝҷжҳҜдёҖжқЎиӢұж–ҮеҸҘеӯҗпјҢдёҚжҳҜйңҖиҰҒзҝ»иҜ‘зҡ„еҶ…е®№гҖӮ - shadowdata.table
中通过引用删除行可能有一天会实现 https://dev59.com/Fmgv5IYBdhLWcg3wMN0U#10791729 - Frank