首页 文章

dplyr left_join()由rownames提供

提问于
浏览
11

我正在使用 dplyrs 函数 left_join 来组合两个data.frames .

现在我想通过使用左侧data.frame中的 rownamesleft_join 右侧data.frame中的相应列名来手动连接它们,但是我收到错误:

错误:“dplyr :: left_join中的意外'='(x.tsummary,sto.info,by = c(rownames(x.tsummary)=”

我的代码

> dplyr::left_join(x.tsummary, sto.info, by = c(rownames(x.tsummary) = 'Symbol'))

这甚至可能吗?在文档中它说我应该指定列名,但如果我可以加入左数据的rownames那就太棒了 .

2 回答

  • 6

    这有帮助吗?

    dplyr::left_join(x.tsummary %>%
                                        mutate(Symbol = rownames(x.tsummary)),
                                     sto.info,
                                     by = 'Symbol')
    
  • 7

    dplyr 现在建议使用 tibble::rownames_to_columndplyr 也有一个函数 add_rownames ,不推荐使用 tibble::rownames_to_column ) . 例如:

    library(tibble)
    library(dplyr)
    left_join(rownames_to_column(x.tsummary), sto.info, by = ("rowname" = "Symbol"))
    

相关问题