【发布时间】:2021-05-12 20:09:10
【问题描述】:
所有, 提前致谢。我有这个学校数据集。每个类别(在类别列中)都有一定范围的学生人数(例如,从 30 到 60 名学生),所以我需要计算:
- 属于每个类别(从类别 1 到类别 4)的教室总数,以及
- 属于该类别的教室的百分比。 例如,有多少教室(NumOfClassrooms 列)属于 Category_4,这些教室占教室总数的百分比是多少?这是我的问题的一个说明性示例:
ID = 1:1050
District = rep(c("AR", "CO", "AL", "KS", "IN", "ME", "KY", "ME", "MN", "NJ"), times = c(80, 120, 100, 110, 120, 100, 100, 120, 100, 100))
schoolName = randomNames::randomNames(1050, ethnicity = 5 ,which.names = "last")
Grade = rep(c("First", "Second", "Third", "Fourth"), times = c(400, 300, 200, 150))
NumOfClassrooms = sample(1:6)
StudentNumber = sample(1:90, 5)
AverageNumOfStudents = StudentNumber/NumOfClassrooms
Category = ifelse(AverageNumOfStudents > 0 & AverageNumOfStudents < 10, "category_1",
ifelse(AverageNumOfStudents >=10 & AverageNumOfStudents < 30, "category_2",
ifelse(AverageNumOfStudents >=30 & AverageNumOfStudents <= 60, "category_3",
ifelse(AverageNumOfStudents > 60 , "category_4", "NA"))))
dat = data.frame(ID, schoolName, Grade, NumOfClassrooms, StudentNumber, AverageNumOfStudents, Category)
最后,我需要使用以下代码将基于“地区”列的结果划分为单独的 excel 文件(一旦完成上述两个步骤,它应该可以正常工作)。
Final_Divide = Final_df %>%
dplyr::group_by(District) %>%
dplyr::ungroup()
list_data <- split(Final_Divide,
Final_Divide$District)
options(digits=3)
Map(openxlsx::write.xlsx, list_data, paste0(names(list_data), '.xlsx'))
非常感谢您。
【问题讨论】:
标签: r