gpt4 book ai didi

r - 计算 R 中每个组的每个时间序列观测值的百分比

转载 作者:行者123 更新时间:2023-12-04 23:19:59 26 4
gpt4 key购买 nike

R 的新手,所以我只是在数据争论方面有所了解。试图寻找类似的问题,但找不到。

我想添加一个额外的列,它是文章组之间每天拆分的 View 百分比。下面的示例数据集

  views       date      article
1578 2015-01-01 A
616 2015-01-01 B
575 2015-01-01 C
1744 2015-01-02 A
541 2015-01-02 B
660 2015-01-02 C
2906 2015-01-03 A
629 2015-01-03 B
643 2015-01-03 C

我正在寻找的预期结果..
 views     percentage   date           article
1578 56.99 2015-01-01 A
616 22.25 2015-01-01 B
575 20.77 2015-01-01 C
1744 59.22 2015-01-02 A
541 18.37 2015-01-02 B
660 22.41 2015-01-02 C
2906 69.55 2015-01-03 A
629 15.06 2015-01-03 B
643 15.39 2015-01-03 C

我知道这可以通过使用子集拆分日期框架来实现,但我希望使用库有更简洁的方法?

谢谢 !

最佳答案

library(dplyr)
df %>% group_by(date) %>% mutate( percentage = views/sum(views))
Source: local data frame [9 x 4]
Groups: date

views date article percentage
1 1578 2015-01-01 A 0.5698808
2 616 2015-01-01 B 0.2224630
3 575 2015-01-01 C 0.2076562
4 1744 2015-01-02 A 0.5921902
5 541 2015-01-02 B 0.1837012
6 660 2015-01-02 C 0.2241087
7 2906 2015-01-03 A 0.6955481
8 629 2015-01-03 B 0.1505505
9 643 2015-01-03 C 0.1539014

或者,如果每天可能有多篇相同的文章:
df %>% group_by(date) %>% mutate(sum = sum(views)) %>% 
group_by(date, article) %>% mutate(percentage = views/sum) %>%
select(-sum)

关于r - 计算 R 中每个组的每个时间序列观测值的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com