Удаление дубликатов строк в кадре данных относительно относительно просто . Однако удаление повторяющихся элементов строки во фрейме данных является более сложной проблемой.
Давайте начнем с этого df
:
df <- structure(list(V1 = c("B1182", "B1182", "B1182", "B1182", "B1182",
"B1182", "B1182", "B1182", NA, NA, "B1182", "B1182", "B1182",
NA, NA, NA, NA, "P2000", "P2000", NA), V2 = c("B124D", "B124D",
"B124D", "B124D", "B124D", "B124D", "B124D", "B124D", NA, NA,
"B124D", "B124D", "B124D", NA, NA, NA, NA, "P2000", "P2000",
NA), V3 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, "U3003", "U3003", NA), V4 = c(NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "P2000",
"P2000", NA), V5 = c(NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_), V6 = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_), V7 = c(NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_),
V8 = c(NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_
)), .Names = c("V1", "V2", "V3", "V4", "V5", "V6", "V7",
"V8"), row.names = c(NA, 20L), class = "data.frame")
Это вывод df
:
V1 V2 V3 V4 V5 V6 V7 V8
1 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
2 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
3 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
4 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
5 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
6 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
7 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
8 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
9 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
10 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
11 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
12 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
13 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
14 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
15 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
16 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
17 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
18 P2000 P2000 U3003 P2000 <NA> <NA> <NA> <NA>
19 P2000 P2000 U3003 P2000 <NA> <NA> <NA> <NA>
20 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
Как видите, строки 18 и 19 содержат повторяющиеся коды (P2000
). Я хотел бы удалить эти дубликаты элементов и оставить только первое, что появляется в строке. Обратите внимание, что это отрывок моего оригинального df
, поэтому он должен быть применим ко всем ситуациям.
Ожидаемый результат может выглядеть следующим образом:
V1 V2 V3 V4 V5 V6 V7 V8
1 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
2 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
3 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
4 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
5 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
6 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
7 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
8 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
9 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
10 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
11 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
12 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
13 B1182 B124D <NA> <NA> <NA> <NA> <NA> <NA>
14 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
15 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
16 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
17 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
18 P2000 <NA> U3003 <NA> <NA> <NA> <NA> <NA>
19 P2000 <NA> U3003 <NA> <NA> <NA> <NA> <NA>
20 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
Меня не волнуют сами переменные, так как они будут переставлены и преобразованы позже .
Итак, как удалить дублирующиеся элементы в строке в этом df
? Заранее спасибо.