【问题标题】:Matching by rownames and a calculation in col [duplicate]按行名匹配和 col [重复] 中的计算
【发布时间】:2021-11-10 08:53:53
【问题描述】:

我想做的是按行名匹配两个数据框。并非所有的行名都相同,当它们不匹配时,R 应该在 n 列中给出 NA。当行名匹配时,我想计算 n 列中的比率 (b / a)。有没有人有关于如何做到这一点的任何提示?

这里是一个例子:

a <-        c
     name1  1
     name2  2
     name3  3
     name4  5

b <-        d
     name1  1
     name2  6
     name4  10


Final result

ab <-       c  d  n
     name1  1  1  1
     name2  2  6  3
     name3  3  NA NA
     name4  5  10 2
 



  

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以使用merge 来连接表。不使用任何包:

    ab <- merge(a, b, by = "row.names", all = TRUE)
    ab$n <- ab$d/ab$c
    

    【讨论】:

    • 谢谢,这是一个很好的工作答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    相关资源
    最近更新 更多