0

我有一个df如下数据框:

   var1 var2 var3
    0    20   0
    0    0    0 
    10   0   10
    0    0    0
    ...

假设我想返回值将满足某些约束的索引:说任何高于该列平均值的值:所以在上面的例子中,它应该返回第 1、2、3 行,而不是第 4 行。

我试过了:

 which( df > mean(df), arr.ind=TRUE)

但是,这将返回一个展平的数组索引 (3, 5 ...)。

有什么建议么?

4

2 回答 2

1

使用 arr.ind=TRUE 作为数组索引

    df<-c(1,2,3,4,3,4,3,5,6,4)
    which(df>mean(df), arr.ind=TRUE)
于 2013-05-29T19:11:35.143 回答
1

假设我正确理解了这个问题:

idx <- (1:nrow(df))[apply(df, 1, function(row) any(row > mean(df)))]

这将为您提供数字行索引,其中每行中的某些值高于data.frame.

于 2013-05-29T21:46:36.930 回答