Подстановка фрейма данных с помощью COL2 и соединение с исходным фреймом данных.
База
merge(df, subset(df, COl2 != "Age"), by = c("COl1"))
dplyr
library(dplyr)
df %>%
left_join(df %>% filter(COl2 != "Age") , by = "COl1")
sqldf
library(sqldf)
sqldf('SELECT *
FROM df
LEFT JOIN(SELECT *
FROM df WHERE COl2 != "Age" )USING (COl1)')
выход
COl1 COl2.x COl2.y
1 Andrew Age 24
2 Andrew 24 24
3 James Age 23
4 James 23 23
Данные
df <- structure(list(COl1 = structure(c(2L, 2L, 1L, 1L), .Label = c("Andrew",
"James"), class = "factor"), COl2 = structure(c(3L, 1L, 3L, 2L
), .Label = c("23", "24", "Age"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))