首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据另一个DF列中的值选择DF

根据另一个DF列中的值选择DF
EN

Stack Overflow用户
提问于 2020-06-01 00:02:38
回答 1查看 28关注 0票数 0

我想绑定两个数据文件的列。根据第一个dataframe中单元格的值,应该在我的环境中的几个数据文件中选择第二个dataframe。

样本数据

代码语言:javascript
复制
test <- structure(list(main_activity = structure(c(1L, 9L), .Label = c("Manufacturing", 
"Manufacturing; Retail", "Manufacturing; Services", "Manufacturing; Wholesale", 
"Manufacturing; Wholesale; Services", "Retail", "Retail; Services", 
"Retail; Wholesale", "Services", "Services; Manufacturing", "Services; Retail", 
"Services; Wholesale", "Wholesale", "Wholesale; Manufacturing", 
"Wholesale; Retail", "Wholesale; Services"), class = "factor"), 
    p_l_for_period_net_income_th_eur_2019 = c(-4849.968, -4416.404
    ), Name = c("A", "B")), class = "data.frame", row.names = c(NA, 
-2L))

Manufacturing_2015 <- as.data.frame(matrix(data = c(2000)))
Services_2015 <- as.data.frame(matrix(data = c(3000)))

我想要做的是检查列'main_activity‘的值,并将与该名称匹配的dataframe与'test’数据name绑定。因此,我们的目标是实现以下目标:

期望结果

代码语言:javascript
复制
binded_A <- cbind(test %>% filter(Name == "A"), Manufacturing_2015)
binded_B <- cbind(test %>% filter(Name == "B"), Services_2015)

有办法自动完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-01 00:11:23

您可以使用ls从全局环境中根据其在main_activity中的值选择数据帧,并将数据转换为原始数据子集。

代码语言:javascript
复制
result <- lapply(test$main_activity, function(x) cbind(subset(test, 
               main_activity == x), get(ls(pattern = x, envir = .GlobalEnv))))

result

#[[1]]
#  main_activity p_l_for_period_net_income_th_eur_2019 Name   V1
#1 Manufacturing                             -4849.968    A 2000

#[[2]]
#  main_activity p_l_for_period_net_income_th_eur_2019 Name   V1
#2      Services                             -4416.404    B 3000

这将返回一个数据文件列表,如果您需要它们作为单独的dataframes命名并使用list2env

代码语言:javascript
复制
names(result) <- paste0('binded_', test$Name)
list2env(result, .GlobalEnv)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62123892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档