如何检查data.frame中的每一行是否存在无效值/代码

如何检查data.frame中的每一行是否存在无效值/代码,r,validation,match,R,Validation,Match,我能知道如何检查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

我能知道如何检查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"      
关键代码1代码2代码3代码4代码5结果

1 1 8 15 NA 11 FALSE我们可以在行中循环,然后使用%
中的
%检查该行中的所有非NA元素是否都在向量('v1')中找到

df1$Result
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)