У меня есть список данных.
Я хотел бы проверить каждое имя столбца данных. Если имя столбца отсутствует, я хочу создать этот столбец в кадре данных и дополнить его значениями NA.
Фиктивные данные:
d1 <- data.frame(a=1:2, b=2:3, c=4:5)
d2 <- data.frame(a=1:2, b=2:3)
l<-list(d1, d2)
# Check the columns names of the dataframes
# If column is missing, add new column, add NA as values
lapply(l, function(x) if(!("c" %in% colnames(x)))
{
c<-rep(NA, nrow(x))
cbind(x, c) # does not work!
})
Что я получаю:
[[1]]
NULL
[[2]]
a b c
1 1 2 NA
2 2 3 NA
Что я хочу вместо этого:
[[1]]
a b c
1 1 2 4
2 2 3 5
[[2]]
a b c
1 1 2 NA
2 2 3 NA
Спасибо за вашу помощь!