DATA = data.frame("TRIMESTER" = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3),
                      "STUDENT" = c(1,2,3,4,5,6,7,1,2,3,5,9,10,11,3,7,10,6,12,15,17,16,21))
    
    WANT = data.frame("TRIMESTER" = c(1,2,3),
                      "NEW_ENROLL" = c(7,3,5),
                      "TOTAL_ENROLL" = c(7,10,15))

我有‘数据’,我想制作有三列的‘Want’,对于每个‘三学期’,你计算新的‘学生’的数量,然后对于‘Total_Enroll’,你只计算每个学期唯一的‘学生’的总数.

我的try 只计算每三个月的数量.

library(dplyr)
DATA %>%
group_by(TRIMESTER) %>%
count()

推荐答案

这里有一种方法.

suppressPackageStartupMessages(library(dplyr))

DATA <- data.frame("TRIMESTER" = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3),
                  "STUDENT" = c(1,2,3,4,5,6,7,1,2,3,5,9,10,11,3,7,10,6,12,15,17,16,21))
DATA %>% 
  mutate(NEW_ENROLL = !duplicated(STUDENT)) %>%
  group_by(TRIMESTER) %>%
  summarise(NEW_ENROLL = sum(NEW_ENROLL)) %>%
  ungroup() %>%
  mutate(TOTAL_ENROLL = cumsum(NEW_ENROLL))
#> # A tibble: 3 × 3
#>   TRIMESTER NEW_ENROLL TOTAL_ENROLL
#>       <dbl>      <int>        <int>
#> 1         1          7            7
#> 2         2          3           10
#> 3         3          5           15

reprex package(v2.0.1)于2022-08-14创建

R相关问答推荐

使用tidyverse / Mutate的存款账户余额

向gggplot 2中的数据和轴标签添加大写和星号

如果行和大于值,则过滤

如何删除gggvenn与gggplot绘制的空白?

用预测NLS处理R中生物学假设之上的误差传播

如何动态更新selectizeInput?

在R中使用数据集名称

如何从R ggplot图片中获取SVG字符串?

如何使用ggplot对堆叠条形图进行嵌套排序?

如何在R中描绘#符号?

R中的哈密顿滤波

如何将R中数据帧中的任何Nas替换为最后4个值

使用rvest从多个页面抓取时避免404错误

如何获取R chromote中的当前URL?

将`magick`对象转换为原始向量

在shiny /bslb中,当卡片是从json生成时,如何水平排列卡片?

删除列表中的奇数长度元素

R Bupar:获取每个 case 的踪迹

使用`ggsurvfit::ggsurvfit()`

防止在与coord_flip组合时在每个面中重复轴标签