通过在附加列中添加详细信息来标识R中包含完整数据的行

通过在附加列中添加详细信息来标识R中包含完整数据的行,r,R,对于示例数据帧: df1 <- structure(list(id = structure(1:5, .Label = c("a", "b", "c", "d", "e"), class = "factor"), cat = c(5L, 7L, 6L, 2L, 8L), dog = c(7L, NA, 6L, 13L, 2L), sheep = c(NA, 6L, 3L, 6L, 2L), cow = c(2L, 10L, 8L, 9L, 1L), rabbit = c(5L, 3L

对于示例数据帧:

df1 <- structure(list(id = structure(1:5, .Label = c("a", "b", "c", 
"d", "e"), class = "factor"), cat = c(5L, 7L, 6L, 2L, 8L), dog = c(7L, 
NA, 6L, 13L, 2L), sheep = c(NA, 6L, 3L, 6L, 2L), cow = c(2L, 
10L, 8L, 9L, 1L), rabbit = c(5L, 3L, NA, 2L, 4L), pig = c(7L, 
NA, 12L, 5L, NA)), .Names = c("id", "cat", "dog", "sheep", "cow", 
"rabbit", "pig"), class = "data.frame", row.names = c(NA, -5L
))
df1这似乎有效:

> df1$complete.farm <- ifelse( !is.na(df1$pig) & !is.na(df1$sheep) & !is.na(df1$cow), 1,0)
> df1
  id cat dog sheep cow rabbit pig complete.farm
1  a   5   7    NA   2      5   7             0
2  b   7  NA     6  10      3  NA             0
3  c   6   6     3   8     NA  12             1
4  d   2  13     6   9      2   5             1
5  e   8   2     2   1      4  NA             0

complete.cases
会更简单-
complete.cases(df1[c(“绵羊”、“奶牛”、“猪”))
@最后一封邮件谢谢。这确实是一个更好的解决办法。我总是忘记完整的案例。我用得不够多,我忘了。请把它作为答案贴出来。它比我的更简单,也更直观。没问题,只要编辑你的答案,如果你喜欢。我认为这是一个重复的问题,如果我能找到匹配的,我可能会关闭它。谢谢@thelatemail。肯定有重复的地方。我仍然认为你应该为这样一个好的答案而受到表扬(如果你问我一些重复的问题就可以了;这会让用户在将来更容易找到它)。如果你决定将其作为一个单独的答案发布,我会很高兴地将其从我的答案中删除。太好了-我知道完整的案例将根据重复的问题进行处理,但我特别想要关于如何将此信息添加到额外栏位的建议-所以谢谢!
df1$col <- as.numeric(complete.cases(df1[c("sheep","cow","pig")]))

> df1
  id cat dog sheep cow rabbit pig complete.farm col
1  a   5   7    NA   2      5   7             0   0
2  b   7  NA     6  10      3  NA             0   0
3  c   6   6     3   8     NA  12             1   1
4  d   2  13     6   9      2   5             1   1
5  e   8   2     2   1      4  NA             0   0