在data.frame R中仅选择具有有限值的行

Ale*_*lex 4 r apply dataframe

想象一下,我data.frame在R中有很多列.我想只选择所有列都有有限值的行.

set.seed(123)
d = data.frame(matrix(sample(c(1:10, Inf, -Inf), 100, replace=T), ncol=20))
Run Code Online (Sandbox Code Playgroud)

我不想按名称引用每一列,因为它们有很多.na.omit并且complete.cases不会在这里做的伎俩.

一种方法是运行:

d[apply(apply(d, 2, is.finite), 1, all),]
Run Code Online (Sandbox Code Playgroud)

这很难看.有没有更好的办法?

edd*_*ddi 7

怎么样:

d[is.finite(rowSums(d)), ]
Run Code Online (Sandbox Code Playgroud)