[問題] 取值:落在時間範圍 並 符合其他條件
文章分類提示:問題
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
板上各位大大好
我想請問如果 data2 跟 data1有以下2個/3個變數,例如長得像以下那樣:
data1
Goback Bus_No. DepartureTime
0 1 5:50
0 2 6:10
0 3 6:30
0 4 6:50
0 5 7:10
1 1 6:00
1 2 6:20
1 3 6:40
1 4 7:00
1 5 7:20
data2 預期結果"Bus_No."新增於data2內如下:
DepartureTime Goback Bus_No.
2015-12-25 05:51:20 0 1
2015-12-26 06:53:30 0 4
2015-12-27 06:22:58 1 2
2015-12-28 05:58:32 1 1
2015-12-29 07:09:24 0 5
我想做的事情是根據data2裡的 "DepartureTime" 和 "Goback" 這兩個變數數,
去找data1裡面對應的"Bus_No."傳回data2,並新增一個欄位"Bus_number"儲存結果
例: data2資料集內第四筆: 2015-12-28 05:58:32 Goback=1
則查找data1資料集內,
符合 Goback為1 且 與 DepartureTime 最接近 05:58:32者為
Goback Bus_No. DepartureTime
1 1 6:00
故 2015-12-28 05:58:32 且 Goback=1,預期結果Bus_No.應為"1"
我用上次板上大大教的foverlaps函數去試著改寫,
但弄了幾天一直沒辦法把Goback的判斷式加入,想請教大大我判斷應該怎麼寫才對
data2[, foverlaps( Tmp_calculation, BusScedule_51_difftime )] %>%
.[, Bus_No. := data1$Bus_No. ] %>%
_________________
↓
Goback的判斷條件應該是加再這邊,但我用中括號取值弄不出我想要的結果
以上,若有其他方法可用也請不吝分享
再麻煩請板上大大協助指點,感謝>"<
[關鍵字]:
foverlaps
match 或者 %in% (?)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.119.164
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1486042611.A.44D.html
※ 編輯: joson4921 (140.113.119.164), 02/02/2017 21:37:23
→
02/02 23:52, , 1F
02/02 23:52, 1F
→
02/02 23:56, , 2F
02/02 23:56, 2F
→
02/03 00:00, , 3F
02/03 00:00, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章