看板 R_Language 關於我們 聯絡資訊
[問題類型]: 想用R 做某件事情,但是我不知道要怎麼用R 寫出來 [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 有各樣區不同年份的觀測資料,但是部分樣區有缺少幾年份的資料。 A樣區:2011,2012,2015年有資料 B樣區:2010,2012,2014年有資料 希望可以將各樣區呈現2010~2015都有資料欄位的狀態(缺少的年份資料就呈現NA) 也就是原本的data.frame長這樣: 樣區 . 年份 . 資料 A. 2011. 12 A. 2012. 5 A. 2015. 0 B. 2010. 37 B. 2012. 30 B. 2014. 29 希望後來的data.frame長這樣: 樣區 . 年份 . 資料 A. 2010. NA A. 2011. 12 A. 2012. 5 A. 2013. NA A. 2014. NA A. 2015. 0 B. 2010. 37 B. 2011. NA B. 2012. 30 B. 2013. NA B. 2014. 29 B. 2015. NA -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.211.164 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1525710847.A.CD8.html ※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 00:37:51 ※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 00:38:51
kokolotl: 資料集rbind後抓年份出來unique再跟rbind後資料merge 05/08 09:53
也就是雖然2013年,A和B樣區都沒資料,但是NA只會出現一筆,而且連樣區也會呈現NA 我試過後,結果成果會變成共同缺少的年份,只會出現一次NA,沒辦法每個樣區都出現NA
kokolotl: 空值填NA 05/08 09:53
jasonfghx: 還有問題?? 05/08 19:20
※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 21:41:27
ms0306733: 謝謝一樓大大的回答,但有點不懂>_< 所以重新編輯一次 05/08 21:43
ms0306733: 問題敘述的方式 05/08 21:43
ms0306733: 天啊,我理解了,謝謝一樓大大!!! 05/08 21:51
※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 23:10:28 ※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 23:12:34
ianmao: base<-expand.grid(樣區=c("A","B"),年份=seq(2010,2015)) 05/09 00:04
如果c("A","B")那邊改成data$樣區...謝謝回覆!!!!我晚點試試看
ianmao: final <- merge(base, data, all.x = TRUE) 05/09 00:05
謝謝回覆>_<但實際上我的樣區有上千個,所以恐怕沒辦法用這個方式QQ ※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 07:56:02 ※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 08:06:46
ianmao: 把樣區=後面改為unique(data$樣區),其他維持原樣應該可以 05/09 09:32
謝謝你 m(_ _)m ※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 10:05:37
kokolotl: 歐歐 用expand.grid比較穩健\o.o/ 05/09 10:42
謝謝你回覆(/ ※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 23:57:45