如何创建一个变量来计算多个其他列中的实例?
How can I make a variable that counts instances in multiple other columns?
我有这个数据集:
nhhmembers <- c(1, 4, 2, 5, 3, 5)
hhmember1 <- c(1994, 2020, 1943, 1946, 1970, 1989)
hhmember2 <- c(NA, 2000, 1950, 1970, 1969, 1980)
hhmember3 <- c(NA, 1990, NA, 1999, 2011, 2014)
hhmember4 <- c(NA, 1975, NA, 1989, NA, 2018)
hhmember5 <- c(NA, NA, NA, 1997, NA, 2015)
df <- data.frame(nhhmembers , hhmember1, hhmember2, hhmember3, hhmember4, hhmember5)
我想创建一个新变量 nkids,通过 hhmember1-5 计算所有年份,使年龄(2021 减去 hhmemberx)小于 18。
所以 nkids 在这种情况下应该是 0, 1, 0, 0, 1, 3
如果不做一个很长的 case_when。
我想不出最好的方法
A 碱基 R one-liner:
rowSums(2021 - df[-1] < 18, na.rm = TRUE)
#[1] 0 1 0 0 1 3
我有这个数据集:
nhhmembers <- c(1, 4, 2, 5, 3, 5)
hhmember1 <- c(1994, 2020, 1943, 1946, 1970, 1989)
hhmember2 <- c(NA, 2000, 1950, 1970, 1969, 1980)
hhmember3 <- c(NA, 1990, NA, 1999, 2011, 2014)
hhmember4 <- c(NA, 1975, NA, 1989, NA, 2018)
hhmember5 <- c(NA, NA, NA, 1997, NA, 2015)
df <- data.frame(nhhmembers , hhmember1, hhmember2, hhmember3, hhmember4, hhmember5)
我想创建一个新变量 nkids,通过 hhmember1-5 计算所有年份,使年龄(2021 减去 hhmemberx)小于 18。
所以 nkids 在这种情况下应该是 0, 1, 0, 0, 1, 3
如果不做一个很长的 case_when。
我想不出最好的方法A 碱基 R one-liner:
rowSums(2021 - df[-1] < 18, na.rm = TRUE)
#[1] 0 1 0 0 1 3