我有两个数据帧; dfa和dfb。 Dfa包含属于家庭的个人数据,而dfb包含每个独特家庭的一些描述性统计数据;例如每人床网的比例(我们称之为Netspp)。我想将dfb中的家庭等级信息分配给dfa中新列中属于相应住户的每个人,这意味着dfb中的每个值可能会根据给定家庭中的成员数量重复多次。
我尝试了一个ifelse声明
`dfa$Netspp <- function(dfa) {
if(dfa$HouseID %in% dfb$HouseID){
dfb$Netspp
}
else NA
}`
但得到了错误
`Error in rep(value, length.out = nrows) :
attempt to replicate an object of type 'closure'`
我也试过
dfa$Netspp<- dfb$Netspp[dfb$HouseID %in% dfa$HouseID]
并收到此错误
`Error in $<-.data.frame(*tmp*, "HHMNo", value = c(8L, 4L, 4L, 2L, :
replacement has 382 rows, data has 2356`
希望这是有道理的,非常感谢任何帮助!
解决方案合并(dfa,dfb,by.x = HouseID,by.y = HouseID)