У меня есть список data.frames который выглядит следующим образом:Удалить конкретные дублированные наблюдения в data.frames из списка data.frames
$`42`
Val Replicate Index
26.92 R2 42
26.92 R3 42
28.68 R1 42
28.68 R4 42
$`43`
Val Replicate Index
28.92 R3 43
29.28 R2 43
30.11 R1 43
30.11 R4 43
$`44`
Val Replicate Index
24.67 R3 44
24.70 R2 44
25.70 R1 44
25.70 R4 44
$`45`
Val Replicate Index
30.57 R1 45
30.57 R4 45
32.39 R2 45
32.81 R3 45
То, что я хотел бы сделать это следующим образом: если в в столбце «Val» имеется дублированный элемент по отношению к R4 в столбце «Replicate», они оба будут удалены из столбца «Val».
Например, в data.frame с именем 45
, так как 30.57 (R1) равно 30.57 (R4), оба они будут удалены, сохраняя только 32.39 (R2) и 32.81 (R3). Таким образом, желаемый результат для data.frame 45
будет:
$`45`
Val Replicate Index
32.39 R2 45
32.81 R3 45
Я пытался использовать:
lapply(mydf, function(x) x[!duplicated(x[c("Val")]), ])
, но, к сожалению, она удаляет все дублированные элементы в столбце «Вал», а не по отношению к сравнение с R4 в столбце «Репликация».
Итак, это специфично для «R4» с любыми другими значениями? – akrun
Точно! R4 является ссылкой для матча. – Bfu38