Сначала используйте lapply
для построения списка с совпадающими table2$row2
результатами, вставленными в строку
lst <- lapply(table1$row1, function(x) c(row1 = x, row2 = paste(table2[table2$row1 == x, ]$row2, collapse=", ")))
Преобразование list
в data.frame
as.data.frame(do.call(rbind, lst))
row1 row2
1 c43bdf23a60 32204599, 852948367, 81423505
2 164389427682
3 12398826693
4 48492266219
5 150403618359
6 150403618759
Этосоздание нового data.frame
и без слияния с table1
(при необходимости не очищается).
Изменение исходного кода для вставки вставленных значений в table1
for (i in seq_len(nrow(table1))){
table1$row2[i] <- paste(table2[table2$row1 == table1$row1[i], ]$row2, collapse = ", ")
}