#r #unique
#r #уникальный
Вопрос:
У меня есть следующая матрица:
id A B C
1 1 2 5
2 4 6 7
3 NULL NULL NULL
4 NULL 4 6
Я хотел бы удалить только строку с идентификатором 3. Обратите внимание, что когда я использую unique()
ее, она все равно сохраняется, потому что идентификатор уникален сам по себе.
Комментарии:
1. Невозможно иметь
NULL
значения в обычном столбце. У вас естьlist
столбец или"NULL"
(символ)2. Я думаю, у меня есть столбец списка…. это определенно не персонаж
3. В этом случае решение, которое я опубликовал, должно сработать. Я создал небольшой воспроизводимый пример, но не уверен, что это правильная структура, которая у вас есть. Пожалуйста, проверьте
Ответ №1:
Возможно, что столбцы list
, потому NULL
что не будут существовать в a vector
. Если это так , то
i1 <- Reduce(`amp;`, lapply(df1[-1], function(x) sapply(x, is.null)))
df1[!i1,]
# id A B C
#1 1 1 2 5
#2 2 4 6 7
#4 4 4 6
Если NULL
это символ "NULL"
, опция
i1 <- rowSums(df1[-1] == "NULL") == ncol(df1[-1])
df1[!i1,]
данные
df1 <- data.frame(id = 1:4, A = I(list(1, 4, NULL, NULL)),
B = I(list(2, 6, NULL, 4)), C = I(list(5, 7, NULL, 6)))