簡體   English   中英

R提取值大於前幾列的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM