我可以知道如何检查R中数据框中是否存在无效代码?
我想检查一下Code1到Code5的变量是否与我预先定义的代码帧/列表匹配。
我预定义的代码框/列表中的所有有效值:
1,3,4,5,6,7,8,9,11
以下是我的数据框
Key Code1 Code2 Code3 Code4 Code5
1 1 8 15 NA 11
2 5 3 NA NA NA
3 4 5 11 NA NA
4 11 2 NA NA NA
并希望得到如下结果
Key Code1 Code2 Code3 Code4 Code5 Result
1 1 8 15 NA 11 FALSE <-due to invalid code "15"
2 5 3 NA NA NA TRUE
3 4 5 11 NA NA TRUE
4 11 2 NA NA NA FALSE <-due to invalid code "2"
任何人都可以帮忙吗?
非常感谢。
答案 0 :(得分:1)
我们可以循环遍历行,然后使用%in%
检查该行中的所有非NA元素是否都在向量中找到('v1')
df1$Result <- apply(df1[-1], 1, FUN = function(x) all(x[!is.na(x)] %in% v1))
df1$Result
#[1] FALSE TRUE TRUE FALSE
v1 <- c(1,3,4,5,6,7,8,9,11)