wush978 / DataScienceAndR

R語言翻轉教室
www.datascienceandr.org
148 stars 79 forks source link

02-RDataEngineer-06-Join關卡38 #393

Closed littlefish0331 closed 6 years ago

littlefish0331 commented 7 years ago

關於關卡38 這是官網提供的解答 answer02.1 <- local({ select(flights, year:day, hour, origin, dest, tailnum, carrier, arr_delay) %>% left_join(weather) %>% select(wind_speed, arr_delay) %>% filter(!is.na(wind_speed), !is.na(arr_delay)) })     我的作法是 answer02.1 <- local({ left_join(flights, weather)%>% select(wind_speed, arr_delay)%>% filter(!is.na(wind_speed), !is.na(arr_delay)) }) 也可以通過!! 但是我發現如果把我的程式碼中,flights和weather的位置對調 就會不行,然後我有嘗試debug 結果發現,select的地方會出錯, 就是如果我的程式碼flights和weather的位置對調(如下) answer02.1 <- local({ left_join(weather, flights)%>% select(wind_speed, arr_delay)%>% filter(!is.na(wind_speed), !is.na(arr_delay)) }) 在select的地方會出錯,就是R不讓我只挑選wind_speed和arr_delay 他會一直把month, day, hour的欄位留著   這是資料結構的錯誤嗎? 我想不透><

wush978 commented 7 years ago

left_join(flights, weather)left_join(weather, flights)的結果會不同喔 細節請參考left_join的解釋