(重写。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
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子句,它可以正常工作,但我没有得到最后一列。
我怀疑我完全没有办法。或迷失了向量在功能链中的使用方式。帮助吗?