【问题标题】:not getting all variables after merging three data sets合并三个数据集后没有得到所有变量
【发布时间】:2020-10-20 13:22:42
【问题描述】:

我正在合并 R 中的三个数据集(数据帧),如下所示: Prv_mnth_so3 有 state、Product_Number、Quantity_On_Hand、Category 和 Lc_Amount

Prv_mnth_soqty <- Prv_mnth_so3 %>%
                    filter( Category== "ESC") %>%
                    group_by (state,Product_Number) %>%
                    summarise(qty = sum(Quantity_On_Hand))
                    #arrange(state,Product_Number)
Prv_mnth_so_esc_amt <- Prv_mnth_so3 %>%
                        filter( Category== "ESC") %>%
                        group_by (state,Product_Number) %>%
                        summarise(esc = sum(as.numeric(Lc_Amount))) %>%
                        arrange(state,Product_Number)
Prv_mnth_so_lom_amt <- Prv_mnth_so3 %>%
                        filter( Category== "LOM") %>%
                        group_by (state,Product_Number) %>%
                        summarise(lom = sum(Lc_Amount))%>%
                        arrange(state,Product_Number)
Prv_mnth_si <- merge(Prv_mnth_soqty, Prv_mnth_so_esc_amt , Prv_mnth_so_lom_amt,
                     by.x = c("state","Product_Number") , by.y = c("state","Product_Number"), by.z = c("state","Product_Number"), all = TRUE) ```
in out come (Prv_mnth_si ) I expect 5 variables as - State, Product_number), qty, esc and lom but I am not gettig lom in outcome, though in Prv_mnth_so_lom_amt, I can see lom variables is there

【问题讨论】:

  • merge 用于加入两个 df,即不使用您的第三个 df 和 by.z。您需要两个合并语句来连接三个 df。

标签: r merge


【解决方案1】:

由于您使用的是tidyverse,因此您可以使用dplyr 包提供的join functions 之一。

将最后一行从:

Prv_mnth_si <- merge(Prv_mnth_soqty, 
                     Prv_mnth_so_esc_amt , 
                     Prv_mnth_so_lom_amt,
                     by.x = c("state","Product_Number") , 
                     by.y = c("state","Product_Number"), 
                     by.z = c("state","Product_Number"), 
                     all = TRUE)

到:

Prv_mnth_si <- full_join(Prv_mnth_soqty, Prv_mnth_so_esc_amt) %>%
    full_join(Prvmnth_so_lom_amt)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2017-08-16
    • 1970-01-01
    相关资源
    最近更新 更多