r - 每日特定结果的计数/百分比

时间:2017-07-04 11:28:06

标签: r date

我有一个大约15.000次观测的数据集,持续了几个月。 每个日期都有不同的观察数。 每次观察的结果是“1”或“0”。

Obs   Reslt  Date         ....
1     0      19-02-2017
2     1      19-02-2017
3     0      19-02-2017
4     0      19-02-2017
5     1      20-02-2017
6     1      20-02-2017
7     0      20-02-2017
8     0      20-02-2017

我想知道每天观察到的结果为“1”的百分比。

在上面的示例中,结果将是:

19-02-2017 - 25%
20-02-2017 - 50%

我想知道是否有人可以帮助我。 谢谢!

2 个答案:

答案 0 :(得分:0)

如果您的数据集名为df,那么

library(dplyr)
df %>%
  group_by(Date) %>%
  summarise(Perc = mean(Reslt)) %>%
  mutate(PercText = scales::percent(Perc))

编辑:我还添加了第二列PercText,其中百分比存储为文字。

答案 1 :(得分:0)

library('scales') #useful in percent conversion
> dat
  Obs Reslt       Date
1   1     0 19-02-2017
2   2     1 19-02-2017
3   3     0 19-02-2017
4   4     0 19-02-2017
5   5     1 20-02-2017
6   6     1 20-02-2017
7   7     0 20-02-2017
8   8     0 20-02-2017
res <- aggregate(dat$Reslt, by=list(Date=dat$Date), FUN=mean) #calculate mean from each group of rows based on row values in column Date
res[,2] <- res[,2]*100 #small manipulation of data to get procentage 
res[,2] <- percent(res[,2] / 100)
>res
        Date   x
1 19-02-2017 25%
2 20-02-2017 50%