這裏是關於我想要的一個例子:如何選擇最小p值和下一個更接近最小data.table
set.seed(123)
data<-data.frame(X=rep(letters[1:3], each=4),Y=sample(1:12,12),Z=sample(1:100, 12))
setDT(data)
我想什麼做的是選擇X的唯一行以最小的Y和下一接近值最小
所需的輸出
>data
a 4 68
a 5 11
b 1 4
b 10 89
c 2 64
c 3 82
的最小值是在這個崗位已經回答How to select rows by group with the minimum value and containing NAs in R
data[, .SD[which.min(Y)], by=X]
但是如何用最小和最接近的方法來實現呢?
假設你的數據frame是一個數據表,'data [rank(Y)%in%1:2']或者對於一個常規數據幀'data [rank(data $ Y)%in%1:2']'? – eipi10
謝謝@ eipi10,我已經使用了'data [,.SD [rank(Y)%in%1:2],by = X]',並且它工作正常。如果你回答我的問題,我會給你信用:-) – user2380782
啊,對不起,我錯過了你也被'X'分組的事實。隨意自己回答這個問題。回答你自己的問題沒有問題。 – eipi10