作者xdd1524 (Green)
看板R_Language
标题[问题] 资料整理
时间Tue Jan 23 19:47:51 2018
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
手上有大量消费者每日消费金额
栏位有日期、姓名、金额
date name 花费金额
2018-01-01 A 50
2018-01-01 B 60
2018-01-02 A 40
2018-01-03 B 80
2018-01-05 A 120
2018-01-06 B 90
我想将这个资料转成下面这个形式
date name 花费金额 前一次金额 前前一次金额
2018-01-01 A 50 NA NA
2018-01-01 B 60 NA NA
2018-01-02 A 40 50 NA
2018-01-03 B 80 60 NA
2018-01-05 A 120 40 50
2018-01-06 B 90 80 60
也就是说,除了知道消费者当天消费金额,也可以知道该消费者前两次的消费金额
试过用data.table去做,但都无法整理出像上述的形式
麻烦指点一下,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.131.163
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1516708076.A.D3A.html
1F:→ clansoda: 如果我没有误会,这正是data.table最好做的 01/23 20:02
2F:→ clansoda: 假设你的资料叫做dat 01/23 20:03
3F:→ clansoda: dat[, previous1 := shift(花费金额), name] 01/23 20:03
4F:→ clansoda: 前前一次就shift里面的argument後面要填2 01/23 20:04
5F:→ xdd1524: 解决了,感谢楼上!! 01/24 12:37