R_Language 板


LINE

- 問題: [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]:      BaseLine.csv:https://goo.gl/Zdq00K TmpCalcuBusNo._V0.csv:https://goo.gl/SWmaUh 如題,手邊有兩個經過整理的資料集「BaseLine.csv」「TmpCalcuBusNo._V0.csv」 兩資料集內分別有4個相同的欄位名稱: Gobackx, From, Toward, Bus_No 我想把「BaseLine.csv」的「Tmp_TravelTime」欄位資料merge過去TmpCal那個csv 然後另存成新資料集「TimeCalcu_temp」,所使用的程式碼如下: TimeCalcu_temp <- merge( TmpCalcu_BusNo._V0, BaseLine, by = c("Gobackx","Toward","From","Bus_No") ,all.x = TRUE) 檔案是有照我想要的方式merge起來了,如新資料集第一筆所示: Gobackx Toward From Bus_No => Tmp_TravelTime 0 五權學士路口 莒光新城 12 => 27 回頭去找「BaseLine.csv」確認, 根據上述 Gobackx, Toward, From, Bus_No找到對應資料:BaseLine.csv第854筆 該筆資料之 Tmp_TravelTime = 27 無誤 但是可以發現另存成的新資料集 TimeCalcu_temp 的 Tmp_TravelTime 出現大量NA值 我想知道是否 merge 函數使用有誤,致無法得出我想要的結果呢? 還請板上大大協助run一下資料集看看問題出在哪裡,先謝謝大家了!!!! [程式範例]: [環境敘述]: 請提供 sessionInfo() 的輸出結果, 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: merge 選擇性,也許未來有用 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.217
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1486202506.A.4DF.html ※ 編輯: joson4921 (140.113.136.217), 02/04/2017 18:04:33
1F:→ celestialgod: all.x = TRUE 出錯吧 02/04 20:04
2F:→ celestialgod: 你保留全部的左表,沒有mapping到的當然是NA 02/04 20:04
3F:→ joson4921: 不是這樣的,以新建的資料集第4874筆來說,該筆資料Gobac 02/04 21:05
4F:→ joson4921: Gobackx=0,Toward=大東紡織(振興路),From=莒光新城, 02/04 21:06
5F:→ joson4921: Bus_No=3,根據這些資料去找BaseLine是可以找到對應的 02/04 21:08
6F:→ joson4921: Tmp_TravelTime=1723,而且仔細一看會發現BaseLine裡面 02/04 21:09
7F:→ joson4921: 當Gobackx=0,From=莒光新城,Toward=大東紡織(振興路)時 02/04 21:11
8F:→ joson4921: Bus_No欄位=3~62都有資料,但新增的資料集裡面全是NA 02/04 21:12
9F:→ joson4921: 我也搞不懂為什麼會這樣,左表map出來17.4萬筆資料裡面 02/04 21:15
10F:→ joson4921: 有9萬筆資料是NA...而且隨便抓都是BaseLine有的資料,又 02/04 21:17
11F:→ joson4921: 不是不存在的資料,真的很抱歉再麻煩板上大大看看哪裡出 02/04 21:18
12F:→ joson4921: 問題,拜託了!!謝謝!! 02/04 21:18
13F:→ celestialgod: http://imgur.com/a/vAavf 我讀起來是正常的阿 02/04 21:38
14F:→ celestialgod: http://imgur.com/scBLZvc 看起來也沒naY 02/04 21:41
15F:→ celestialgod: Y是多打得 02/04 21:41
16F:→ celestialgod: Note: 我的data.table是 1.10.1 02/04 21:42
17F:→ celestialgod: R是MRO 3.3.1,windows 10 64bit 02/04 21:42
18F:→ joson4921: 了解…待會再確認看看版本有沒有影響@@ 02/04 23:34
見鬼了... http://imgur.com/IJ25uLX 下面是用我原本的程式去讀 TmpCalcu_BusNo._V0, BaseLine 這兩個資料集 上面是仿照c大的直接讀取我傳給c大的csv 明明都是那兩個data.table的東西 為什麼c大讀我輸出的csv就可以,結果我自己直接讀的就不行 ... ...所以我就敲了class()進去試,結果 http://imgur.com/C2lryP7 c大輸入用的DT2跟DT1是同樣的格式: > class(DT2) [1] "data.table" "data.frame" > class(DT1) [1] "data.table" "data.frame" 我的 TmpCalcu_BusNo._V0 跟 BaseLine 的格式是: > class(TmpCalcu_BusNo._V0) [1] "data.table" "data.frame" > class(BaseLine) [1] "grouped_df" "tbl_df" "tbl" "data.frame" 所以問題是出在格式不對嗎-.- 然後剛剛試著用as.data.frame(BaseLine)去轉,可是class()出來發現格式沒有變 ...所以是我的BaseLine產生過程有問題嗎? 附上BaseLine產生的程式碼如下: http://imgur.com/qrP8Ntq 救命... ※ 編輯: joson4921 (1.161.166.207), 02/05/2017 01:01:58 ※ 編輯: joson4921 (1.161.166.207), 02/05/2017 01:02:38
19F:→ Wush978: 用 as.data.frame 或直接 class(BaseLine) <- "data.fram 02/05 02:01
20F:→ Wush978: e" 看看呢? 02/05 02:01
http://imgur.com/aBkpMic 有試著用W大的方法去改了,指定進去之後BaseLine確實變成了"data.frame" 但後面merge起來的結果並沒有因此改變,無法做到先把資料輸出成csv再讀入一樣的結果 ...我只剩下輸出成csv再讀入做後續運算這條路了嗎-.-||| ※ 編輯: joson4921 (1.161.166.207), 02/05/2017 02:35:20
21F:→ celestialgod: BaseLine <- as.data.table(BaseLine) ? 02/05 02:43
22F:→ celestialgod: 我猜問題是因為是merge.data.table跟 02/05 02:44
23F:→ celestialgod: merge.data.frame這兩個method有一些不同 02/05 02:44
24F:→ celestialgod: 所以沒辦法完全相容,在某些點上出問題了 02/05 02:44
25F:→ celestialgod: 先試試看都轉成data.table看看吧 02/05 02:44
26F:→ celestialgod: 或是 直接用 setDT(BaseLine) 02/05 02:44
27F:→ celestialgod: 然後再試一次 02/05 02:45
http://imgur.com/hDUlltU 上圖第一個結果是 BaseLine <- as.data.table(BaseLine) 第二個結果是 BaseLine <- setDT(BaseLine) 兩個都轉成 [1] "data.table" "data.frame" 了,但程式跑出來還是存在NA 0.0 ※ 編輯: joson4921 (140.113.136.220), 02/05/2017 11:58:50
28F:→ joson4921: 暫時就先輸出再讀入吧,雖然我還是不了解哪邊出了問題@@ 02/05 14:28
29F:→ joson4921: 謝謝樓上大大們出手協助,謝謝!! 02/05 14:28







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP