我试图从数据框中计算出家庭规模,其中还包含两类事件:死亡的家庭成员和离开家人的家庭成员。我想考虑这两个参数来计算实际的家庭规模。 这是我的问题的生殖例如,仅具有3个家族:来自数据帧的R计数和减法事件
family <- factor(rep(c("001","002","003"), c(10,8,15)), levels=c("001","002","003"), labels=c("001","002","003"), ordered=TRUE)
dead <- c(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0)
left <- c(0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0)
DF <- data.frame(family, dead, left) ; DF
我能数N =总家族成员(在每个家庭)在第二数据帧DF2,通过简单地使用表()
DF2 <- with(DF, data.frame(table(family)))
colnames(DF2)[2] <- "N" ; DF2
family N
1 001 10
2 002 8
3 003 15
但我找不到一个合适的方法来获取实际人数(例如,创建一个新的变量N2到DF2中),通过减去N来计算死亡或离开家庭的成员数量。我想我必须以某种方式将两个数据帧DF和DF2联系起来。我已经在这个网站寻找其他相关的问题,但找不到正确的答案... 如果任何人有一个好主意,这将是伟大的! 预先感谢您.. 杰尼
'library(dplyr); DF%>%group_by(family)%>%summarize(n() - sum(dead)-sum(left))' –