[英]Selecting rows from data frame
我有一個數據幀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 ...)。
有什么建議么?
對數組索引使用arr.ind = TRUE
df<-c(1,2,3,4,3,4,3,5,6,4)
which(df>mean(df), arr.ind=TRUE)
假設我正確理解了這個問題:
idx <- (1:nrow(df))[apply(df, 1, function(row) any(row > mean(df)))]
這將為您提供數字行索引,其中每行中的某些值高於data.frame
中的data.frame
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.