根据另一列

时间:2016-07-26 21:02:40

标签: r

我有两个数据帧; 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)

0 个答案:

没有答案