Re: [問題] 依特定條件補足日期

看板R_Language作者 (Jing)時間8年前 (2017/06/06 18:54), 編輯推噓0(0010)
留言10則, 4人參與, 最新討論串2/3 (看更多)
以下提供兩種方式 library(data.table) library(dplyr) library(lubridate) data <- data.frame(Group = c("A", "A", "B", "B", "C", "C"), Status = rep(c("Start", "End"), times = 3), Date = c("2016/01/01", "2016/01/15", "2016/01/09", "2016/02/01", "2016/01/02", "2016/01/07")) # data.table data %>% setDT %>% .[, .(Date = seq(ymd(.SD[Status == "Start", Date]), ymd(.SD[Status == "End", Date]), by = "days")), by = Group] # dplyr data %>% group_by(Group) %>% do({ subDf <- . Date <- seq(ymd(filter(subDf, Status == "Start")$Date), ymd(filter(subDf, Status == "End")$Date), by = "days") str(Date) return(data.frame(Date = Date)) }) %>% ungroup ※ 引述《menghsuanliu (庫庫少)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出 : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 我想依group,把日期補足(參考附圖) : http://i.imgur.com/ef6uHfT.jpg
: http://i.imgur.com/UasIAhm.jpg
: [程式範例]: : [環境敘述]: : [關鍵字]: : -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.2.216 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1496746493.A.BDB.html

06/06 21:04, , 1F
data.table和dplyr到底誰能一統江湖…
06/06 21:04, 1F

06/06 21:28, , 2F
感謝
06/06 21:28, 2F

06/06 21:30, , 3F
各有支持者吧,反正好用就好
06/06 21:30, 3F

06/06 21:34, , 4F
我支持初學者會dplyr,但是處理大資料data.table
06/06 21:34, 4F

06/06 21:34, , 5F
還是有一定需求
06/06 21:34, 5F

06/06 21:35, , 6F
寫套件的話,超討厭import dplyr,太多deps
06/06 21:35, 6F

06/06 21:43, , 7F
data.table可讀性比較差,連自己寫的久了也一時看不懂
06/06 21:43, 7F

06/06 21:46, , 8F
分享code的時候對方也比較難看懂。這大概是我碰到的麻煩
06/06 21:46, 8F

06/06 21:56, , 9F
與其說data.table可讀性差,不如說是data.table
06/06 21:56, 9F

06/06 21:57, , 10F
設計奇特XD,我是覺得讀習慣就能看懂XD
06/06 21:57, 10F
文章代碼(AID): #1PDedzlR (R_Language)
文章代碼(AID): #1PDedzlR (R_Language)