自动将输出分离为R中的多个对象

问题描述 投票:0回答:1

我不确定这是否可行,但是R中是否有一种方法可以运行命令,并使其根据组将输出保存到多个对象中?例如,我编写了一个代码,根据他们所在的部门计算出担任监督角色的员工人数。

library(tidyverse)
sample <- tibble(department = c("Admin", "Admin", "Office of President", "Office of President"),
                 sup_status = c("Not Supervisor", "Supervisor", "Not Supervisor", "Supervisor"),
                 n = c(918, 152, 69, 192))

但是,我真正想要的是各部门主管百分比的向量。我可以得到R以产生所有百分比的一个长向量:

library(tidyverse)

vector_of_all_percents <- sample %>%
  group_by(department) %>%
  mutate(sum_new = sum(n)) %>%
  rowwise() %>%
  mutate(percent = n/sum_new) %>%
  select(percent) %>%
  as_vector()

vector_of_all_percents
 percent1  percent2  percent3  percent4 
0.8579439 0.1420561 0.2643678 0.7356322 

我的实际数据有很多部门。有没有办法调整我的上面的代码,以使部门自动生成R个生产对象,就像这样:

vector_for_admin
 percent1  percent2
0.8579439 0.1420561 

vector_for_office
percent1  percent2 
0.2643678 0.7356322

我不确定slice()或split()命令是否是我所需要的,或者甚至是可能的。任何指导将不胜感激!

r vector dplyr automation splice
1个回答
2
投票
© www.soinside.com 2019 - 2024. All rights reserved.