作者ms0306733 (RJ)
看板R_Language
標題[問題] 整理資料-插入資料
時間Tue May 8 00:34:05 2018
[問題類型]:
想用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://webptt.com/m.aspx?n=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
1F:推 kokolotl: 資料集rbind後抓年份出來unique再跟rbind後資料merge 05/08 09:53
也就是雖然2013年,A和B樣區都沒資料,但是NA只會出現一筆,而且連樣區也會呈現NA
我試過後,結果成果會變成共同缺少的年份,只會出現一次NA,沒辦法每個樣區都出現NA
2F:→ kokolotl: 空值填NA 05/08 09:53
3F:推 jasonfghx: 還有問題?? 05/08 19:20
※ 編輯: ms0306733 (101.15.211.164), 05/08/2018 21:41:27
4F:→ ms0306733: 謝謝一樓大大的回答,但有點不懂>_< 所以重新編輯一次 05/08 21:43
5F:→ ms0306733: 問題敘述的方式 05/08 21:43
6F:→ 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
7F:→ ianmao: base<-expand.grid(樣區=c("A","B"),年份=seq(2010,2015)) 05/09 00:04
如果c("A","B")那邊改成data$樣區...謝謝回覆!!!!我晚點試試看
8F:→ 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
9F:推 ianmao: 把樣區=後面改為unique(data$樣區),其他維持原樣應該可以 05/09 09:32
謝謝你 m(_ _)m
※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 10:05:37
10F:推 kokolotl: 歐歐 用expand.grid比較穩健\o.o/ 05/09 10:42
謝謝你回覆(/
※ 編輯: ms0306733 (49.216.244.157), 05/09/2018 23:57:45