我有2张桌子。第一个表包含对象的信息,第二个表包含相关对象。第二个表对象有4种类型(让我们调用em A,B,C,D)。
我需要一个类似这样的查询
library(dplyr)
library(tidyr)
data.frame(Name, Cate) %>%
count(Name, Cate) %>%
spread(key = Cate, value = n, fill = 0)
列" table1对象id"在实际表中是来自表1的多列数据(对于单个对象,它们都是相同的,因为表2而在多行上重复)。
第二张表的格式
|table1 object id | A |value for A|B | value for B| C | value for C|D | vlaue for D|
| 1 | 12| cat | 13| dog | 2 | house | 43| car |
| 1 | 5 | lion | | | | | | |
我希望这很清楚我想要的东西。
我尝试过使用AND和OR和JOIN。这似乎不是可以用交叉表完成的。
EDIT 表2
|type|value|table 1 object id| id |
|A |cat | 1 | 12|
|B |dog | 1 | 13|
|C |house| 1 | 2 |
|D |car | 1 | 43 |
|A |lion | 1 | 5 |
表1
|type|value|table 1 object id| id |
|A |cat | 1 | 12|
|B |dog | 1 | 13|
|C |house| 1 | 2 |
|D |car | 1 | 43 |
|A |lion | 1 | 5 |
|C |wolf | 2 | 6 |
结果
| id | value1 | value 2|value 3|
| 1 | hello | test | hmmm |
| 2 | bye | test2 | hmm2 |
我希望这能解释我想要实现的目标。