You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中使用filter生成多个结果数据框?

按Country批量生成单独DataFrame的方法

当然可以不用手动重复代码,以下几种方法都能实现:

方法1:用dplyr的group_split拆分(推荐)

直接按Country分组拆分,得到一个包含各国家DataFrame的列表:

library(dplyr)

# 按Country拆分,得到列表
country_dfs <- Dat %>% group_split(Country)

这个列表里的每个元素就是对应国家的DataFrame,你可以通过country_dfs[[1]]、country_dfs[[2]]来访问;如果给列表元素命名,还能更直观调用:

names(country_dfs) <- unique(Dat$Country)
# 之后可直接用 country_dfs$India 访问对应DataFrame

方法2:用base R的split函数

不需要加载dplyr也能快速实现,且会直接生成以国家名为元素名的列表:

country_dfs <- split(Dat, Dat$Country)
# 直接通过 country_dfs$Japan 调用日本的DataFrame

方法3:将拆分后的DataFrame直接命名到全局环境

如果想把每个国家的DataFrame单独作为全局变量(比如生成India、Japan这类直接对应国家名的对象),可以用以下代码:

# 批量赋值到全局环境
list2env(split(Dat, Dat$Country), envir = .GlobalEnv)

执行后就能直接调用India、Japan这类变量。

针对指定国家的拆分

如果只想处理Country_List里的国家,先过滤再拆分即可:

country_dfs <- Dat %>% 
  filter(Country %in% Country_List) %>% 
  group_split(Country)

内容的提问来源于stack exchange,提问作者Mikin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:43:18