【问题标题】:R Code to eliminate not common columnsR代码消除不常见的列
【发布时间】:2016-12-01 00:16:29
【问题描述】:

我有两个表 T5、T6,其中两个表都有不同的列,如 R 中的 nycflights13 包中的 湿、温度、dep_delay。现在我想将 T5 和 T6 合并到哪里

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$湿相同的观察数。有人可以帮帮我吗?

【问题讨论】:

    标签: r join dplyr


    【解决方案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)
    

    如果这不是您想要的,因为很难从您的问题中确定,请告诉我。

    【讨论】:

    • 与否决票相关的任何特定原因或反馈?
    • Don'cha' 只是喜欢当一些聪明人出现并在没有任何解释的情况下投下反对票?我怀疑在许多此类情况下是发问者,他们习惯于表示答案不符合他们的喜好。但在那种情况下,这确实意味着问题不明确。
    猜你喜欢
    • 1970-01-01
    • 2021-05-31
    • 2022-01-02
    • 2015-01-15
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 2019-10-27
    相关资源
    最近更新 更多