看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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://www.ptt.cc/bbs/R_Language/M.1516708076.A.D3A.html
clansoda: 如果我沒有誤會,這正是data.table最好做的 01/23 20:02
clansoda: 假設你的資料叫做dat 01/23 20:03
clansoda: dat[, previous1 := shift(花費金額), name] 01/23 20:03
clansoda: 前前一次就shift裡面的argument後面要填2 01/23 20:04
xdd1524: 解決了,感謝樓上!! 01/24 12:37