Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
merge命令在r中是如何工作的?_R_Merge - Fatal编程技术网

merge命令在r中是如何工作的?

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命令不像我预期的那样工作。并增加行数。我认为通过这个命令,

我在R中有两个数据帧。第一个包含一些关于家庭的信息,另一个包含一些关于家庭所有孩子的信息 第一个类似:(HHchar数据帧)

对于此结果,我使用以下命令:

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")