[問題] 如何快速複製新增特定數筆資料

看板R_Language作者 (understand?)時間7月前 (2023/09/07 10:29), 編輯推噓0(003)
留言3則, 2人參與, 7月前最新討論串1/3 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 我有一份資料,格式如下 訂位日期 活動日期 活動時間 活動名稱 會議室 人數 2022/1/03 2022/2/5~2022/2/8 09:00~18:00 某某國際研討會 301會議室 100 2022/1/20 2022/1/25~2022/1/25 10:00~12:00 某某記者會 201會議室 50 2022/2/1 2022/2/2~2022/2/4 13:00~17:00 瑜珈課程 107會議室 10 我想將活動日期拆成一天一筆資料,格式如下 活動日期 活動時間 活動名稱 會議室 人數 2022/02/05 09:00~18:00 某某國際研討會 301會議室 100 2022/02/06 09:00~18:00 某某國際研討會 301會議室 100 2022/02/07 09:00~18:00 某某國際研討會 301會議室 100 2022/02/08 09:00~18:00 某某國際研討會 301會議室 100 2022/01/25 10:00~12:00 某某記者會 201會議室 50 2022/02/02 13:00~17:00 瑜珈課程 107會議室 10 2022/02/03 13:00~17:00 瑜珈課程 107會議室 10 2022/02/04 13:00~17:00 瑜珈課程 107會議室 10 我雖然先算出每個活動的總天數,然後一一新增複製合併相同活動天數, 但我覺這個方法很笨,所以上來請教各位大師 是否有更快速的寫法 [程式範例]: data2 <- rbind.data.frame(DT[which(DT$活動天數==2),], DT[which(DT$活動天數==2),]) data3 <- rbind.data.frame(DT[which(DT$活動天數==3),], DT[which(DT$活動天數==3),], DT[which(DT$活動天數==3),]) ) 以此類推後 在合併所有資料集 allDT<- rbind.data.frame(DT,data2,data3, .....,data11) [環境敘述]: R 4.0.3 請提供 sessionInfo() 的輸出結果, 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: merge -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.62.129 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1694053790.A.AB8.html

09/07 10:40, 7月前 , 1F
先切欄位把活動日期切成 起始日跟結束日
09/07 10:40, 1F

09/07 10:45, 7月前 , 2F
group_by 再用 complete
09/07 10:45, 2F

09/07 17:15, 7月前 , 3F
上面的方法不成功,會少很多中間日期的資料
09/07 17:15, 3F
文章代碼(AID): #1a-JMUgu (R_Language)
文章代碼(AID): #1a-JMUgu (R_Language)