の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つの最小値を抽出する方法がわかりません。
あなたが何かアイデアがあれば、それは私をたくさん助けてくれるでしょう!
前もって感謝します