[英]R Extract rows with values greater than previous columns
我有一個數據框values
,如下所示
row.names January February March
A1 0.02345 0.03456 0.04567
A2 0.07654 0.06543 0.05432
A3 0.02345 0.03456 0.04567
我需要提取列值大於先前列的行。我們可以看到,對於A1和A3,列值大於先前值。 即0.02345 <0.03456 <0.04567
row.names January February March
A1 0.02345 0.03456 0.04567
A3 0.02345 0.03456 0.04567
需要幫助來提取具有上述要求的行。
這是一種可能的方法
indx <- colSums(apply(data, 1L, diff) > 0L) == (ncol(data) - 1L)
data[indx, ]
# January February March
# A1 0.02345 0.03456 0.04567
# A3 0.02345 0.03456 0.04567
一個更簡單的版本(請參閱@alexis_laz注釋)是使用內置的unsorted
函數
indx <- !apply(data, 1, is.unsorted)
data[indx, ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.