Я думаю, вы не понимаете, что делает lapply
. Это не меняет оригинал data.frames
, но только в списке.
Смотрите этот пример с игрушкой:
df1 <- data.frame(id = letters[1:5])
df2 <- data.frame(id = letters[4:10])
dflist <- list(df1 = df1, df2 = df2)
include_vector <- c("d", "e", "f")
new_list <- lapply(dflist, function(x) dplyr::filter(x, ! id %in% include_vector))
Теперь new_list
выглядит следующим образом:
$df1
id
1 a
2 b
3 c
$df2
id
1 g
2 h
3 i
4 j
Но df1
и df2
не изменились. Если вы также хотите изменить df1
и df2
, вы можете сделать это:
list2env(new_list, environment())
Это перезапишет df1
и df2
в вашей текущей рабочей среде.