gpt4 book ai didi

r - 如何使用 dplyr 在具有过滤功能的函数内应用 for 循环?

转载 作者:行者123 更新时间:2023-12-02 16:01:21 24 4
gpt4 key购买 nike

我想在 R 中使用 dplyr 在过滤器函数上应用 for 循环。

sumstats<-function(x) {
Countries <- c("abc","def","ghi")
for (val in Countries) {
result <- df %>% filter(COUNTRY.NAME == val)
write.xlsx(result, "result.xlsx")
}
}

但是此函数会覆盖 Excel 上的现有工作表,我希望将数据写入单个工作簿上的单独 Excel 工作表上。

最佳答案

您必须使用 sheetName = val 创建工作表名称,并将该工作表附加到您的 Excel 文件中。

sumstats<-function(x) {
Countries <- c("abc","def","ghi")
for (val in Countries) {
result <- df %>% filter(COUNTRY.NAME == val)
write.xlsx(result,
file = "result.xlsx",
sheetName = val,
append = TRUE)
}
}

如果您更喜欢使用管道,您可以像这样连接 filterwrite.xlsx:

df %>% 
filter(COUNTRY.NAME == val) %>%
write.xlsx(file = "result.xlsx", sheetName = val, append = TRUE)
<小时/>

添加了 append = TRUE(附加到现有文件)。

关于r - 如何使用 dplyr 在具有过滤功能的函数内应用 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46279598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com