R 如何为任何列组中符合一个条件的行子集数据框?

R 如何为任何列组中符合一个条件的行子集数据框?,r,dataframe,subset,R,Dataframe,Subset,在R中,我有一个数据框(H1),每行有两列,89列有数字数据,最后一列有行的意思(我有1000行) 例如,我需要选择任何数值列大于15的行。如果我只想按一列选择行,我可以这样做: H1<-H2[H2[,3]>15,] H115,] 但89列中的任何一列都没有。我试过了- H1<-H2[H2[,3:91]>15,] H115,] 但这只是返回一个NAs负载。使用data.table(data.frame扩展名): 您可以使用base R中的rowSums计算逻辑索

在R中,我有一个数据框(
H1
),每行有两列,89列有数字数据,最后一列有行的意思(我有1000行)

例如,我需要选择任何数值列大于15的行。如果我只想按一列选择行,我可以这样做:

H1<-H2[H2[,3]>15,]
H115,]
但89列中的任何一列都没有。我试过了-

H1<-H2[H2[,3:91]>15,]
H115,]
但这只是返回一个NAs负载。

使用data.table(data.frame扩展名):


您可以使用base R中的
rowSums
计算逻辑索引,然后根据该索引对数据进行子集划分。下面是一个例子:

set.seed(123)
DF <- data.frame(id = sample(letters[1:3], 20, TRUE), 
                 matrix(sample(1:25, 100, TRUE), ncol = 5))
或者同时执行两个步骤:

DF[rowSums(DF[2:6] > 15) >= 1L, ]

在这里,我使用了2:6列。在您的数据中,您可以用3:92或您需要的数据替换它。

您使用的是R吗?如果是,请使用“data.frame”标签。如果没有,请说明您使用的语言/程序。谢谢,以上更改
idx <- rowSums(DF[2:6] > 15) >= 1L
DF[idx, ]
DF[rowSums(DF[2:6] > 15) >= 1L, ]