【发布时间】:2019-03-26 23:45:18
【问题描述】:
我有一个包含 20 个变量和 20000 个观察值的数据框。我首先将其转换为所有布尔值,以指示每个原始值是否高于某个阈值(这里,阈值是>=1)。
每组 10 个变量组成一个组。我想过滤数据以删除任何组具有 5 个或更多阈值以上的任何行。我怎样才能做到这一点?
我尝试了以下,但第二行产生了错误消息:
MyData_filter <- as.matrix(MyData[1:20] >= 1)
keeps <- apply(MyData_filter, 1,function(x) {! any(rowSums(x[1:10])>=5) && any(rowSums(x[11:20])>=5) })
MyData_Filtered<- MyData_filter[keeps, ]
Error in rowSums(MyData_filter[1:10]) :
'x' must be an array of at least two dimensions
【问题讨论】:
标签: r