У меня есть набор данных, который имеет следующую форму: -
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")
)
Что я хочу сделать, это взять столбец col_4
из набора b
и сопоставить строку в наборе a
, чтобы он сказал мне, в какой строке содержится сколько элементов из col_4
в новом столбце. Имя нового столбца не имеет значения.
Например: - Первая и пятая строки в наборе a
содержат все элементы col_4
из набора b
.
Кроме того, дубликаты не должны быть найдены. Например шестой ряд в наборе a
имеет 3 "B"
с. Но поскольку col_4
из набора b
имеет только два "B"
с, он должен указывать мне 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)
)