[問題] 資料整理

作者: xdd1524 (醉拳甘迺迪)   2018-01-23 19:47:51
[問題類型]:
程式諮詢(我想用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去做,但都無法整理出像上述的形式
麻煩指點一下,謝謝!
作者: clansoda (小笨)   2018-01-23 20:02:00
如果我沒有誤會,這正是data.table最好做的假設你的資料叫做datdat[, previous1 := shift(花費金額), name]前前一次就shift裡面的argument後面要填2
作者: xdd1524 (醉拳甘迺迪)   2018-01-24 12:37:00
解決了,感謝樓上!!

Links booklink

Contact Us: admin [ a t ] ucptt.com