r-如何计算dplyr的股价



我有一个数据集,如下所示:

data <- tribble(
~id,     ~click,  ~engagement,
1,         1,          0,
2,         2,          3,         
3,         3,          5,
4,         4,          6, 
5,         5,          2,
6,         3,          4,
7,         8,          7,
8,         6,          1,
9,         7,          6,
10,         7,          3,
)

我想要的数据是这样的:

new_data <- tribble(
~total_click,  ~total_engagement, ~percantage_click, ~percantage_engagement, 
46,              37,              0.5542169,          0.4457831,
)

我可以通过这样的编码获得total_click和total_engagement:

data %>% 
summarise(total_click = sum(click), total_engagement = sum(engagement)) 

如何获取百分比?

这个怎么样?

data %>% 
summarise(total_click = sum(click), total_engagement = sum(engagement), 
percantage_click=total_click/(total_click+total_engagement), 
percantage_engagement=1- percantage_click)

数据:

data <- tribble(
~id,     ~click,  ~engagement,
1,         1,          0,
2,         2,          3,         
3,         3,          5,
4,         4,          6, 
5,         5,          2,
6,         3,          4,
7,         8,          7,
8,         6,          1,
9,         7,          6,
10,         7,          3,
)
data %>%
summarize_at(vars(-id), sum) %>%
mutate(click_p = click/(click + engagement),
engagement_p = 1 - click_p)
## A tibble: 1 x 4
#  click engagement click_p engagement_p
#  <dbl>      <dbl>   <dbl>        <dbl>
#1    46         37   0.554        0.446

我们也可以这样做:

data %>% 
summarise_at(vars(-id), list(sum)) %>% 
bind_cols(. / rowSums(.))

最新更新