0
我有两个MySQL表。其中一个包含犯罪案件的数据(即案件号码,地点),另一个案件包含针对案件“案件”表格中每个案件提交的犯罪行为(即违反哪些法律,条款,段落)。因此,我与每一起犯有多重罪行的案件都有1:n的关系。现在,我想加入这两个表格,但不知道如何做到最好。更改data.frame结构
table "cases"
ID/casenumber/...
---------------------
1/2015-33323
2/2016-33213
3/2017-88873
table "offences"
ID/caseId/law/article/...
---------------------
1/1 /law1/110 /...
2/1 /law1/111 /...
3/1 /law2/239 /...
4/2 /law1/342 /...
5/2 /law3/920 /...
6/3 /law1/820 /...
为了加入两个data.frames我应该得到的罪行表成这样一种形式:
caseId/offence1law/offence1art/offence2law/offence2art/...
---------------------
1 /law1 /110 /law1 /111/...
2 /law1 /342 /law3 /920/...
3 /law3 /820 /NA /NA/...
有谁知道如何做到这一点?我所寻找的表格中的变量数量取决于所犯罪行的数量。
非常感谢您的提示!
您的结果不使用你的第一个表中的所有;这只是你的第二个更广泛的形式。虽然你可以使用tidyr创建它,但我最好的建议是不要这样做,因为它是一个杂乱无章且数据结构不太好的数据结构,其变量隐藏在列名称中。 – alistaire
所以你想加入'caseId'? 'dplyr'已加入函数,请检查'left_join'例如 – Dambo
@ Dambo加入并不是问题。问题是,“右”表具有与“左”表不同的结构。 –