[問題] 資料整理

看板R_Language作者 (Green)時間6年前 (2018/01/23 19:47), 編輯推噓0(005)
留言5則, 2人參與, 6年前最新討論串4/5 (看更多)
[問題類型]: 程式諮詢(我想用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

01/23 20:02, 6年前 , 1F
如果我沒有誤會,這正是data.table最好做的
01/23 20:02, 1F

01/23 20:03, 6年前 , 2F
假設你的資料叫做dat
01/23 20:03, 2F

01/23 20:03, 6年前 , 3F
dat[, previous1 := shift(花費金額), name]
01/23 20:03, 3F

01/23 20:04, 6年前 , 4F
前前一次就shift裡面的argument後面要填2
01/23 20:04, 4F

01/24 12:37, 6年前 , 5F
解決了,感謝樓上!!
01/24 12:37, 5F
文章代碼(AID): #1QPo3iqw (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1QPo3iqw (R_Language)