【问题标题】:left_join says column is not present even though it is presentleft_join 表示列不存在,即使它存在
【发布时间】:2020-12-02 17:53:34
【问题描述】:

我想用两个不同的变量 tp join 连接两个数据框。有一个错误说它在第二个数据框中找不到变量。但是当我运行函数 colnames() 时,会显示列名。为什么会这样?

df_new <- left_join(master_settlement_current_month, master_settlement, by = c("D.settlecounty", "NAMECOUNTY"))

Error: Join columns must be present in data.
x Problem with `NAMECOUNTY`.
Run `rlang::last_error()` to see where the error occurred.

colnames(master_settlement_current_month)[1:5]
[1] "month"             "D.info_state"      "D.info_county"     "D.info_settlement" "D.settlecounty" 

  
colnames(master_settlement)
 [1] "NAME"            "NAMEJOIN"        "NAMECOUNTY"      "COUNTYJOIN"      "DATE"            "DATA_SOURC"      "IMG_VERIFD"     
 [8] "X"               "Y"               "kobo_label"      "X.3"             "X.2"             "X.1"             "INDEX"          
[15] "P_CODE"          "aok_sett_id"     "name_county_low" "ALT_NAME1"       "ALT_NAME2"       "ALT_NAME3"       "ALT_NAME4"      
[22] "FUNC_CLASS"      "CONF_SCORE"      "SRC_VERIFD"      "num_dup"         "check_coord_v38"

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我认为您在by = 语句中的语法可能有点不对。

    library(dplyr)
    
    df_new <- left_join(master_settlement_current_month, master_settlement, by = c("D.settlecounty" = "NAMECOUNTY"))
    

    【讨论】:

    • 哈哈,谢谢。我已经尝试了一个多小时......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多