У меня есть список, содержащий 3 кадра данных, и еще один список, содержащий 3 вектора идентификаторов.Я бы хотел поднастроить каждый фрейм данных, проверив, совпадают ли идентификаторы в 1-м кадре с идентификаторами в первом векторе.То же самое для второго вектора 2-го и 3-го и 3-го вектора.Я могу сделать это, используя lapply, но я получаю список из 3 списков, каждый из которых содержит подмножество данных в соответствии с каждым из 3 значений в списке идентификаторов.
Я хочу получить список из 3-х фреймов данных, первый из которых состоит из строк в 1-м кадре данных, имеющих идентификатор в 1-м векторе идентификаторов, а 2-й - из строк во 2-м кадре данных, имеющихидентификатор во втором векторе идентификаторов ... и т. д.
n <- seq(1:20)
id <- paste0("ID_", n)
df1 <-data.frame(replicate(3,sample(0:10,10,rep=TRUE)))
df1$id <- replicate(10, sample(id, 1, replace = TRUE))
df2 <-data.frame(replicate(3,sample(0:10,7,rep=TRUE)))
df2$id <- replicate(7, sample(id, 1, replace = TRUE))
df3 <-data.frame(replicate(3,sample(0:10,8,rep=TRUE)))
df3$id <- replicate(8, sample(id, 1, replace = TRUE))
list_df <- list(df1, df2, df3)
list_id <- list(c("ID_13", "ID_1", "ID_5"), c("ID_1", "ID_17", "ID_4",
"ID_9"), c("ID_12", "ID_18"))
subset_df <- lapply(list_df, function(x){
lapply(list_id, function(y) x[x$id %in% y,])
})
Спасибо за помощь!