首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算每日百分比变化和三天百分比变化R?

如何计算每日百分比变化和三天百分比变化R?
EN

Stack Overflow用户
提问于 2018-10-26 20:37:12
回答 1查看 469关注 0票数 0

我有一个数据框架,我想一天一天的计算出变化的百分比,但是当我这么做的时候,结果似乎并不正确。

代码语言:javascript
运行
复制
ads <- data.frame(ad = c(ad1, ad1, ad1, ad1, ad2, ad2, ad2, ad3, ad3, ad3), 
                  date = c("11-10", "11-11", "11-12", "11-13", "11-10", "11-11", "11-12", "11-10", "11-11", "11-12"), 
                  likes = c(20, 30, 18, 5, 34, 68, 55, 44, 33, 20),
                  comments = c(21, 22, 10, 1, 10, 43, 24, 34, 21, 11))

所以我有一个:

代码语言:javascript
运行
复制
daily_pct <- function(x) x/lag(x)
three_pct <- function(x) x/lag(x ,k = 3)

daily_pct_change <- ads %>%
     mutate_each(funs(daily_pct), c(likes,comments))

three_pct_change <- ads %>% 
     mutate_each(funs(three_pct), c(likes, comments))

我做得对吗?我也想不出怎样才能让第一天开始工作。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-26 20:57:15

你可以试试:

代码语言:javascript
运行
复制
df %>% 
  mutate_at(.vars = vars(dplyr::matches("(likes)|(comments)")), 
            funs(daily_change = ./lag(.)*100,
                 three_day_change = ./lag(., 3)*100))

同样,如果不需要广告和日期变量:

代码语言:javascript
运行
复制
df %>% 
  select(likes, comments) %>% 
  mutate_all(funs(daily_change = ./lag(.)*100,
                 three_day_change = ./lag(., 3)*100))

或者你需要的话:

代码语言:javascript
运行
复制
df %>% 
  select(likes, comments) %>% 
  mutate_all(funs(daily_change = ./lag(.)*100,
                 three_day_change = ./lag(., 3)*100)) %>% 
  rowid_to_column() %>% 
  left_join(df %>% rowid_to_column() %>% select(rowid, ad, date), by = c("rowid" = "rowid")) %>%
  select(-rowid)

此外,您也可以通过对原始代码进行小修改获得相同的结果:

代码语言:javascript
运行
复制
daily_pct <- function(x) x/lag(x)*100
three_pct <- function(x) x/lag(x, 3)*100

df %>% 
  mutate_at(.vars = vars(dplyr::matches("(likes)|(comments)")), 
            funs(daily_change = daily_pct,
                 three_day_change = three_pct))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53016019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档