Как применить один и тот же фильтр к каждому фрейму данных в списке фреймов данных - PullRequest
0 голосов
/ 16 июня 2020

Как применить один и тот же фильтр к каждому фрейму данных в списке фреймов данных.

Например, если я хочу применить такую ​​мутацию:

test_df <- test_df %>% filter(id != 0)

В списке фреймы данных

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Вот пример с фреймом данных iris и его небольшой модификацией, чтобы составить список из 2 немного разных фреймов данных, которые имеют одинаковые имена столбцов. Затем я применяю специальный фильтр c (в данном случае тот, который имеет смысл в контексте кадра данных iris), чтобы вернуть либо список кадров данных, либо один объединенный кадр данных (зависит от того, какой результат вы бы хотелось бы иметь)

library(dplyr)
library(purrr)

iris2 <- iris %>% 
  mutate(Petal.Length = Petal.Length*2)

dfs <- list(iris, iris2)

filtering <- function(df){
  df %>% 
    filter(Petal.Length > 3)
}

list_result <- purrr::map(dfs, filtering) # or
df_result <- purrr::map_df(dfs, filtering)
1 голос
/ 16 июня 2020
library(tidyverse)

#create your list of Data Frames and assign it to a value
myListOfDataframes 

#write a function for your list to loop through
filterDataframeFunction <- function(){
  filter(id != 0)
}

#use the map function to send your list to your function
map(myListOfDataframes, filterDataframeFunction)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...