【问题标题】:R join a table column from a vectorR从向量连接表列
【发布时间】:2022-07-05 23:30:48
【问题描述】:

我想从另一列的列中获取表中向量的对应值。 (往下看)

示例:

矢量:

v = c('A', 'B', 'C')

表:

# key     Value
 'C'        3
 'A'        1
 'B'        2

当我给向量v (A, B, C) 时,我想以良好的顺序取回相应的值1, 2, 3

实际上,向量是一个数据集的rownames,我需要将其替换为对应的值。

我正在考虑使用 Dplyr 中的 left_join 函数,但我需要 2 个表。

感谢您的帮助

【问题讨论】:

    标签: r dplyr data-science


    【解决方案1】:

    base R 中的可能解决方案:

    df$Value[match(v, df$key)]
    
    #> [1] 1 2 3
    

    使用dplyr

    library(dplyr)
    
    df %>% 
      mutate(x = Value[match(v, key)]) %>% 
      pull(x)
    
    #> [1] 1 2 3
    

    【讨论】:

      【解决方案2】:

      使用来自base Rmerge

      merge(Table, data.frame(Key = v))$Value
      [1] 1 2 3
      

      【讨论】:

        猜你喜欢
        • 2018-12-08
        • 2016-11-03
        • 1970-01-01
        • 2021-08-22
        • 1970-01-01
        • 2021-06-03
        • 2021-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多