我有两个这样的数据帧,它们是从大量文档中提取的:
id <- c("doc7")
lemma_target <- c("Teilestatus", "Meldung", "Datum", "Datum", "Betriebsarten")
lemma <- c("ergeben", "senden", "ermitteln", "sammeln", "enthalten")
origin <- c("oa_relations")
oa_relations <- data.frame(id, lemma_target, lemma, origin)
id <- c("doc7")
lemma_target <- c("Information", "welch", "teilen", "System", "Datum")
lemma <- c("ergeben", "werden", "werden", "sammeln", "enthalten")
origin <- c("sb_relations")
sb_relations <- data.frame(id, lemma_target, lemma, origin)
现在,我想从两个数据帧中提取三元组,在我的示例System - sammeln - Datum
中:我想要所有lemma_target
,其中lemma
是相同的(在这种情况下为“ sammeln”)相同的文档(在这种情况下为doc7
)。
我尝试使用rbind
加入dfs,然后进行过滤和选择,但由于我对SQL语法感到困惑而无法使用...任何帮助,我们深表感谢!
答案 0 :(得分:0)
似乎您只想合并数据,但是在两个数据框中使用完全相同的变量名有点不幸。因此,merge()
函数在不对数据进行少许调整的情况下就无法工作,因为否则它将在所有共享变量名中搜索相同的值。我在您的"_oa"
变量名称中添加了"_sb"
和"lemma_target"
,并假设origin
变量名称不是必需的。
colnames(oa_relations)[2] <- "lemma_target_oa"
colnames(sb_relations)[2] <- "lemma_target_sb"
oa_relations$origin <- NULL
sb_relations$origin <- NULL
merge(oa_relations, sb_relations)
这给出了:
id lemma lemma_target_oa lemma_target_sb
1 doc7 enthalten Betriebsarten Datum
2 doc7 ergeben Teilestatus Information
3 doc7 sammeln Datum System