0

我无法对大型数据框进行子集化。我有 5,000 个观察值和 60 多个列。我想根据 ~ 30 列进行子集化——本质上是“删除”任何观察结果,其中interest == 0. 下面是一个小示例:我想摆脱 UID #1 和 #3。

UID 236.1(b) 261.5(c) 261.5(d)
 1       0        0       0 
 2       2        3       0
 3       0        0       0
 4       0        0       0

我尝试了以下代码:

sub <- subset(df, rowSums(df[, 29:60]>0))

这产生了以下错误术语:

subset.data.frame 中的错误(merge_charge,rowSums(merge_charge[,29:60] > :“子集”必须是合乎逻辑的

和:

 test <- subset(rowSums(df[,29:60]>0))

这产生了以下错误:

子集.default(rowSums(merge_charge[, 29:60] > 0)) 中的错误:缺少参数“子集”,没有默认值

任何建议或指示将不胜感激。

4

1 回答 1

3

首先,看一下子集()函数。你可以像这样使用它:

subset(data, condition)

所以,你错过了这里的数据论点。

其次,您将(错误地放入rowSums中。它必须是rowSums(df[,1:2]) > 0 因此,它将是:

test <- subset(your_data, rowSums(your_data[,29:60])>0 )
于 2016-09-24T05:31:38.500 回答