のID
最も近い2つの値をそれぞれ選択しますCq
。私はそれを理解したと思ったが、それは行の位置に依存する...
これが私のデータセットの形式の例です:
df <- data.frame(ID = c("A","A","A","B","B","B","C","C","C"),
Cq = c(34.32,34.40,34.31,31.49,31.40,31.49,31.22,31.31,31.08))
ID Cq
1 A 34.32
2 A 34.40
3 A 34.31
4 B 31.49
5 B 31.40
6 B 31.49
7 C 31.22
8 C 31.31
9 C 31.08
そして私が試したもの
df4 <-df %>%
group_by(ID) %>%
arrange(Cq) %>%
mutate(diffvals= Cq - lag(Cq)) %>%
filter(row_number() == 1 | row_number() == 2)
#Output
ID Cq diffvals
1 A 34.31 NA
2 A 34.32 0.0100
3 B 31.40 NA
4 B 31.49 0.0900
5 C 31.08 NA
6 C 31.22 0.14
そして予想される出力
ID Cq
1 A 34.32
2 A 34.31
3 B 31.49
4 B 31.49
5 C 31.22
6 C 31.31
以前にデータセットを並べ替えたことがありますが、何も変わりません。私も使用してみましたfilter(diffvals=wich.min==diffvals)
が、2つの最小値を抽出する方法がわかりません。
あなたが何かアイデアがあれば、それは私をたくさん助けてくれるでしょう!
前もって感謝します