如何删除 R 中所有 NULL 值的行
how to remove rows with all NULL values in R
我有以下矩阵:
id A B C
1 1 2 5
2 4 6 7
3 NULL NULL NULL
4 NULL 4 6
我只想删除 ID 为 3 的行。请注意,当我使用 unique()
时,它仍会保留,因为 ID 本身是唯一的。
列可能是 list
,因为 NULL
不会存在于 vector
中。如果是的话
i1 <- Reduce(`&`, 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)))
我有以下矩阵:
id A B C
1 1 2 5
2 4 6 7
3 NULL NULL NULL
4 NULL 4 6
我只想删除 ID 为 3 的行。请注意,当我使用 unique()
时,它仍会保留,因为 ID 本身是唯一的。
列可能是 list
,因为 NULL
不会存在于 vector
中。如果是的话
i1 <- Reduce(`&`, 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)))