汇总:使用来自不同向量的值的新列

时间:2020-02-26 22:04:27

标签: r summarize

(重写。R的新手,很抱歉,如果我的行话不在下面!)

目标:汇总数据集中的值,创建一个列,其中包含在摘要中选择的总值,然后根据该总和相对于原始汇总数据集中的总和创建平均值。

所需的输出:nonStandardActivationsSummary
年subCount机构的百分比OfAllInYear
2017 2 1 .33
2018 1 1 .33

起始数据:fullData
pid startDate subLength
4484 2017年1月30日365
4487 2017-01-01 25
4487 2017-07-01 360
6246 2018-04-29 345
4485 2018-02-01 30
4486 2018-07-01 730

我正在尝试什么
1.创建用于过滤所有非标准订阅长度(有效)的向量

nonStandardActivations <- filter(fullData, !is.na(subLength) & subLength != 30 & (subLength%%365) != 0)

结果:nonStandardActivations(目前为止很好)
pid startDate subLength
4487 2017-01-01 25
4487 2017-07-01 360
6246 2018-04-29 345

  1. 创建非标准订阅的摘要,并添加一列,该列仅给出该年中一年中非标准订阅的数量占原始数据集总数的百分比。 (无效)
nonStandardActivationsSummary <- summarize(
  group_by(nonStandardActivations, year = format(startDate,'%Y')), 
    subCount = n(), 
    institutions=length(unique(pid)), 
    percentOfAllInYear = (length(unique(pid))  / 
                          length(unique(filter(fullData, 
             format(startDate, '%Y'))$pid))))

以上内容为我提供了:“错误:参数2过滤条件未评估为逻辑向量”。如果我删除percentOfAllInYear子句,它可以正常工作,但我没有得到最后一列。

我怀疑我完全没有办法。或迷失了向量在功能链中的使用方式。帮助吗?

0 个答案:

没有答案
相关问题