【发布时间】:2020-07-05 17:40:48
【问题描述】:
我有一个如下形式的数据集:-
a <- data.frame(X1=c("A", "B", "C", "A", "B", "C"),
X2=c("B", "C", "C", "A", "A", "B"),
X3=c("B", "E", "A", "A", "A", "B"),
X4=c("E", "C", "A", "A", "A", "C"),
X5=c("A", "C", "C", "A", "B", "B")
)
我还有另外一组如下表格:-
b <- data.frame(col_1=c("ASD", "ASD", "BSD", "BSD"),
col_2=c(1, 1, 1, 1),
col_3=c(12, 12, 31, 21),
col_4=("A", "B", "B", "A")
)
我想要做的是从集合b 中取出列col_4 并在集合a 中逐行匹配,以便它告诉我哪一行在新列中有多少来自col_4 的元素.新列的名称无关紧要。
例如:- 集合a 中的第一行和第五行包含集合b 中col_4 的所有元素。
此外,不应找到重复项。例如。集合中的第六行 a 有 3 个 "B"s。但由于 col_4 来自集合 b 只有两个 "B"s,它应该告诉我 2 而不是 3。
预期输出的形式为:-
c <- data.frame(X1=c("A", "B", "C", "A", "B", "C"),
X2=c("B", "C", "C", "A", "A", "B"),
X3=c("B", "E", "A", "A", "A", "B"),
X4=c("E", "C", "A", "A", "A", "C"),
X5=c("A", "C", "C", "A", "B", "B"),
found=c(4, 1, 2, 2, 4, 2)
)
【问题讨论】:
标签: r dataframe dplyr plyr tidyr