merge命令在r中是如何工作的?
我在R中有两个数据帧。第一个包含一些关于家庭的信息,另一个包含一些关于家庭所有孩子的信息 第一个类似:(HHchar数据帧) 对于此结果,我使用以下命令:merge命令在r中是如何工作的?,r,merge,R,Merge,我在R中有两个数据帧。第一个包含一些关于家庭的信息,另一个包含一些关于家庭所有孩子的信息 第一个类似:(HHchar数据帧) 对于此结果,我使用以下命令: b2 <- merge (children ,HHchar,by="ID", all.x= TRUE) b2如果我正确理解了你的问题,这应该可以: result <- merge(children, HHchar, by = "ID") result no merge命令不像我预期的那样工作。并增加行数。我认为通过这个命令,
b2 <- merge (children ,HHchar,by="ID", all.x= TRUE)
b2如果我正确理解了你的问题,这应该可以:
result <- merge(children, HHchar, by = "ID")
result no merge命令不像我预期的那样工作。并增加行数。我认为通过这个命令,一些额外的行会添加到数据集中。你见过这个问题吗?你能给出一个更具体的例子,可以用代码重现吗?您当前的示例也没有意义,因为您想要的输出只包含8行。这对我来说很好。除了原始问题中的输入可能是错误的。您的ID 2与firstchild和两个不同的年龄列出了两次。这就是为什么这会给出9行而不是8行。您可以使用:?merge访问函数文档。这里有一些例子。我真的不明白您想要什么,例如,在您想要的输出中,children数据框中缺少一行。但是如果你想在合并后得到一些结果,你可以使用子集
。(我认为合并工作正常,只是您没有预料到这个结果。)似乎您的结果中缺少了一行ID=2,这是故意的吗<代码>合并(children,HHchar)
是我理解您的问题所必需的。当我对您的数据运行代码时,我得到了9行。
ID age gender birthorder familysize
1 26 1 firstchild 4
1 20 2 secondchild 4
2 20 1 firstchild 5
2 18 1 secondchild 5
2 17 2 thirdchild 5
3 19 1 firstchild 4
3 12 2 secondchild 4
4 10 1 firstchild 3
b2 <- merge (children ,HHchar,by="ID", all.x= TRUE)
result <- merge(children, HHchar, by = "ID")