小编Man*_*asi的帖子

如何在函数中组合 lapply 和 dplyr

下面是我创建的示例数据框以及预期的输出。

df = data.frame(color = c("Yellow", "Blue", "Green", "Red", "Magenta"),
                values = c(24, 24, 34, 45, 49),
                Quarter = c("Period1","Period2" , "Period3", "Period3", "Period1"),
                Market = c("Camden", "StreetA", "DansFireplace", "StreetA", "DansFireplace"))


dfXQuarter = df %>% group_by(Quarter) %>% summarise(values = sum(values)) %>%
  mutate(cut = "Quarter") %>% data.frame()

colnames(dfXQuarter)[1] = "Grouping"

dfXMarket = df %>% group_by(Market) %>% summarise(values = sum(values)) %>% 
  mutate(cut = "Market")%>% data.frame()
colnames(dfXMarket)[1] = "Grouping"


df_all = rbind(dfXQuarter, dfXMarket)
Run Code Online (Sandbox Code Playgroud)

现在,为了简洁起见,我想将其编译成一个函数并使用 lapply。以下是我的尝试 -

list = c("Market", "Quarter")


df_all <- do.call(rbind, …
Run Code Online (Sandbox Code Playgroud)

r function plyr lapply dplyr

5
推荐指数
1
解决办法
7929
查看次数

在 purrr::map 中组合函数

我在 R 中使用内置的空气质量数据集 下面是我的代码

f <- function(x){
             list(sd(x),median(x))
           }

 sapply(airquality,f)   

#output
  Ozone    Solar.R Wind     Temp     Month    Day     
 33.27597 91.1523 3.557713 9.529969 1.473434 8.707194
 31       207     9.7      79       7        16      
Run Code Online (Sandbox Code Playgroud)

我想要相同的输出,但使用 purrr::map。我试过 -

map_dbl(airquality,.f)
Run Code Online (Sandbox Code Playgroud)

但这不起作用。如何修复此代码?

r dplyr purrr

0
推荐指数
2
解决办法
140
查看次数

标签 统计

dplyr ×2

r ×2

function ×1

lapply ×1

plyr ×1

purrr ×1