【发布时间】:2017-09-08 00:34:58
【问题描述】:
我想对齐两个大部分在一列上相交的数据集,但每个数据集都缺少一些行。例如:
df1 <- data.frame(word = c("my", "dog", "ran", "with", "your", "dog"),
freq = c(5, 2, 2, 6, 5, 10))
df2 <- data.frame(word = c("my", "brown", "dog", "ran", "your", "dog"),
pos = c("a", "b", "c", "d", "a", "e"))
我想要的输出是在缺少项目的地方插入间隙。因此,在输出中,新形式的 df1 将具有 NA,其中 df1 缺少 df2 中的单词匹配,而新形式的 df2 将具有 NA,其中 df2 缺少 df1 中的单词实例。
在我的示例中,顺序很重要,元素确实重复。 (所以这不是一般的“合并”情况。)我怀疑 DTW 可以解决这个问题,但我不确定。就目前而言,规定只有完全匹配才匹配是公平的。
对于上述情况,所需的输出将是具有这些列的数据框:
$word1 my NA dog ran with your dog
$freq 5 NA 2 2 6 5 2
$word2 my brown dog ran NA your dog
$pos a b c d NA a c
因此,每个原始数据帧中的序列都保持不变;什么都没有被删除;词标记仍然是标记(它是语料库,而不是字典);真正发生的只是在缺少数据的地方插入了空格 (NA)。
【问题讨论】: