我有看起来像这样的数据。
company date auditor change count
A 2016 ZXY 0 1
A 2015 ZXY 0 2
A 2014 ZXY 0 3
A 2013 FPQ 1 4
A 2012 ZXY 1 5
B 2017 ERW 0 1
B 2016 ERW 0 2
B 2015 ERW 0 3
B 2014 ERW 0 4
B 2013 ERW 0 5
.
.
.
.
此数据表明审计师是否在最近五年内更换了工作。如果有开关,则更改值为“ 1”。我想计算
1)去年更换公司的百分比(count = 1)。
2)过去五年未进行任何转换的公司所占的百分比(count = 0、1、2、3、4、5的更改= 0)。
3)五年内经历过一次以上更改的公司的百分比(更改= 1表示计数=超过一次)
我只想知道怎么做的逻辑。
答案 0 :(得分:2)
我可能会使用dplyr对更改列求和:
changeSummary <- yourData %>%
group_by(company) %>%
summarise(sumChanges = sum(change))
这将为每个公司列出一次提供一个数据框,并为每个公司提供变化计数。然后,您可以轻松轻松地为上述3个条件中的任何一个获取百分比。例如。您的第一种情况(计数== 1):
answer1 = length(filter(changeSummary, sumChanges == 1)) / length(sumChanges)