我想在数据框中创建一个包含其他变量信息的新变量。
我有一个大数据框。为了保持简短,我们说:
a <- c(1,0,2,3)
b <- c(3,0,1,1)
c <- c(2,0,2,2)
d <- c(4,1,1,1)
(df <- data.frame(a,b,c,d) )
a b c d
1 1 3 2 4
2 0 0 0 1
3 2 1 2 1
4 3 1 2 1
目标:创建一个新变量,告知我一个人(行)是否在变量a + b或变量c + d中有cero报告(或缺失/ NA)。
a b c d x
1 1 3 2 4 1
2 0 0 0 1 NA
3 2 1 2 1 1
4 3 1 2 1 1
由于我有一个大数据框,我正在考虑使用df [1:2]和df [3:4],这样我就不需要输入每个变量名。但我不确定哪种方法最好。也许dplyr有一个不错的选择?
答案 0 :(得分:1)
df$x <- ifelse(rowSums(df), 1, NA)
编辑:回答更新的问题:
df$x <- ifelse(rowSums(df[1:2])&rowSums(df[3:4]), 1, NA)
给出,
a b c d x
1 1 3 2 4 1
2 0 0 0 1 NA
3 2 1 2 1 1
4 3 1 2 1 1