r - 仅保留第一个值(对于特定值),但为具有相同值的所有其他行创建零
问题描述
post_date post_age former_customer *former_customer_new*
2016-11-27 1309 20.01632 20.01632
2016-11-27 1309 20.01632 0
2016-11-26 1310 22.98056 22.98056
2016-11-26 1310 22.98056 0
2016-11-26 1310 22.98056 0
2016-11-26 1310 22.98056 0
我正在寻找创建最后一列的代码,其中每天的值仅显示在第一行中,但对于当天相同的其他行表示 0。最后,我想创建一个累积变量,但每天只计算一次而不是多次。如果有更好的解决方案(可能有一个),请告诉我。
解决方案
用这个
library(dplyr)
df %>% group_by(post_date) %>% mutate(former_cust_new = ifelse(row_number() == 1, former_customer, 0)) %>% ungroup()
为了演示,请添加一些数据
推荐阅读
- angular - Control bound to a model shows old value on certain keys despite get property() working in Angular
- javascript - How to access value under a node with firebase functions
- reactjs - 之间的区别
和组件() - opengl - 具有 PBO 的深度值的非阻塞 glReadPixels
- c - 如何使用循环访问矩阵的元素
- python - MongoDB TTL 索引不会删除过期文档
- mongodb - 查找聚合后如何通过 id 查找
- javascript - JQ 或 JS:防止“a”标签更改 url #hash
- angular - 在“mat-expansion-panel”中,面板在路由时关闭
- javascript - 变量未使用 RESTful 传递到后端