Один из вариантов: получить наборы данных в list
, создать vector
имен столбцов, которые мы хотим select
('nm1'), использовать intersect
и setdiff
для выбора пересекающихсястолбцы и столбцы, которые необходимо создать как NA
, если они отсутствуют в наборе данных, и возвращает новые list
из data.frame
с в list
nm1 <- c("Tag", "Sex", "Trai1", "Trait2")
outlst <- lapply(lst1, function(x) {
nm2 <- intersect(names(x), nm1)
nm3 <- setdiff(nm1, nm2)
x1 <- x[nm2]
x1[nm3] <- NA
x1})
ПРИМЕЧАНИЕ. Неясночто имел в виду sheets
Если он из книги Excel, его можно загрузить в list
с readxl
library(readxl)
file <- "file.xlsx'
lst1 <- map(1:2, ~ read_excel(file, sheet = .x))