2016-12-01 20 views
-2

我有兩個表T5,T6兩個表具有不同的列潮溼,溫度,dep_delay從nycflights13包河現在我想合併T5和T6其中R代碼裏面,以消除不常見的列

library(dplyr) 
library(nycflights13) 

T1 <- left_join(flights,select(airports,c(1,5)),by=c('origin'='faa')) 
T2 <- left_join(T1,select(planes,-c(5,8)),by='tailnum') 
T3 <- left_join(T2,select(weather,-c(9,13,15)),by=c("origin"= 'origin','year.x'='year','month'='month','day'='day','hour'='hour')) 
T4 <- (subset(T3,arr_delay>0)) 
T5 <- na.omit(T4) 
T6 <- na.omit(T3) 

這些是表格,我想要T5 $潮溼和T6 $潮溼的合併,並且爲T6 $潮溼的潮溼的潮溼的T5潮溼的潮溼的潮溼的潮溼的T6潮溼的潮溼的相同。有人可以幫我嗎?

回答

1

由於您使用的是dplyr,因此您可以在單個鏈中完成此操作。您想獲得的關鍵是最後的anti_join以及.filter條件下的有意使用,作爲anti_join中的y。

library(dplyr) 
library(nycflights13) 

T6 <- flights %>% 
    left_join(select(airports,c(1,5)), by=c('origin'='faa')) %>% 
    left_join(select(planes, -c(5,8)), by = "tailnum") %>% 
    left_join(select(weather, -c(9,13,15)), by=c("origin"= 'origin','year.x'='year','month'='month','day'='day','hour'='hour')) %>% 
    na.omit() %>% 
    anti_join(filter(., arr_delay >0)) %>% 
    select(humid) 

如果這不完全是你想要的,因爲很難從你的問題確定,請告訴我。

+0

與downvote相關的任何特定原因或反饋? –

+0

Don'cha只是喜歡它,當一些wiseass來臨,並沒有解釋滴下downvote?我懷疑在很多這樣的情況下這是提問者,他們用來表示答案不符合他們的喜好。但在這種情況下,這確實意味着問題不明確。 –