→ celestialgod: all.x = TRUE 出錯吧 02/04 20:04
→ celestialgod: 你保留全部的左表,沒有mapping到的當然是NA 02/04 20:04
→ joson4921: 不是這樣的,以新建的資料集第4874筆來說,該筆資料Gobac 02/04 21:05
→ joson4921: Gobackx=0,Toward=大東紡織(振興路),From=莒光新城, 02/04 21:06
→ joson4921: Bus_No=3,根據這些資料去找BaseLine是可以找到對應的 02/04 21:08
→ joson4921: Tmp_TravelTime=1723,而且仔細一看會發現BaseLine裡面 02/04 21:09
→ joson4921: 當Gobackx=0,From=莒光新城,Toward=大東紡織(振興路)時 02/04 21:11
→ joson4921: Bus_No欄位=3~62都有資料,但新增的資料集裡面全是NA 02/04 21:12
→ joson4921: 我也搞不懂為什麼會這樣,左表map出來17.4萬筆資料裡面 02/04 21:15
→ joson4921: 有9萬筆資料是NA...而且隨便抓都是BaseLine有的資料,又 02/04 21:17
→ joson4921: 不是不存在的資料,真的很抱歉再麻煩板上大大看看哪裡出 02/04 21:18
→ joson4921: 問題,拜託了!!謝謝!! 02/04 21:18
→ celestialgod: Y是多打得 02/04 21:41
→ celestialgod: Note: 我的data.table是 1.10.1 02/04 21:42
→ celestialgod: R是MRO 3.3.1,windows 10 64bit 02/04 21:42
→ 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
→ Wush978: 用 as.data.frame 或直接 class(BaseLine) <- "data.fram 02/05 02:01
→ 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
→ celestialgod: BaseLine <- as.data.table(BaseLine) ? 02/05 02:43
→ celestialgod: 我猜問題是因為是merge.data.table跟 02/05 02:44
→ celestialgod: merge.data.frame這兩個method有一些不同 02/05 02:44
→ celestialgod: 所以沒辦法完全相容,在某些點上出問題了 02/05 02:44
→ celestialgod: 先試試看都轉成data.table看看吧 02/05 02:44
→ celestialgod: 或是 直接用 setDT(BaseLine) 02/05 02:44
→ 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
→ joson4921: 暫時就先輸出再讀入吧,雖然我還是不了解哪邊出了問題@@ 02/05 14:28
→ joson4921: 謝謝樓上大大們出手協助,謝謝!! 02/05 14:28