r语言 - 我如何创建一个变量来计算多个其他列中的实例?



我有这个数据集:

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。

base R一行代码:

rowSums(2021 - df[-1] < 18, na.rm = TRUE)
#[1] 0 1 0 0 1 3

最新更新