![](/img/trans.png)
[英]How to apply functions in columns for data frames with different sizes in nested list?
[英]How to apply multiple functions to a list of data frames?
我有一個包含 50 多個具有相同列數和行數的 csv 文件的列表。
我想找到每個數據框的缺失值百分比,並且我找到了適用於單個文件的代碼,如下所示:
missing.values <- estaciones2 %>%
gather(key = "key", value = "val") %>%
mutate(is.missing = is.na(val)) %>%
group_by(key, is.missing) %>%
summarise(num.missing = n()) %>%
filter(is.missing==T) %>%
select(-is.missing) %>%
arrange(desc(num.missing))
現在我想將這些函數應用於我列表中的每個數據框。
我讀到我可以使用 map 函數創建一個循環並為列表中的每個文件運行代碼,盡管我不太確定如何將 map 函數插入到上面顯示的代碼中,但我嘗試了以下操作似乎不對:
missing.values <- map(estaciones2, ~ map(estaciones2, ~ estaciones2 %>%
gather(key = "key", value = "val") %>%
mutate(is.missing = is.na(val)) %>%
group_by(key, is.missing) %>%
summarise(num.missing = n()) %>%
filter(is.missing==T) %>%
select(-is.missing) %>%
arrange(desc(num.missing)))
我們需要一個 lambda 函數 ( ~
) 來循環list
(假設estaciones2
是一個list
對象)。 .x
是使用 lambda 調用的list
的 data.frame 元素
library(purrr)
library(tidyr)
library(dplyr)
map(estaciones2, ~ .x %>%
gather(key = "key", value = "val") %>%
mutate(is.missing = is.na(val)) %>%
group_by(key, is.missing) %>%
summarise(num.missing = n()) %>%
filter(is.missing==T) %>%
select(-is.missing) %>%
arrange(desc(num.missing)))
在 OP 的代碼中,多次在同一個list
元素上調用多個map
函數,即estaciones2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.