dplyr left_join()由rownames提供

unc*_*ool 12 r dplyr

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

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

错误:"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'))
Run Code Online (Sandbox Code Playgroud)

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

jar*_*auh 9

dplyr现在建议使用tibble::rownames_to_column (dplyr也有一个add_rownames不赞成使用的函数tibble::rownames_to_column).例如:

library(tibble)
library(dplyr)
left_join(rownames_to_column(x.tsummary), sto.info, by = ("rowname" = "Symbol"))
Run Code Online (Sandbox Code Playgroud)

  • 我认为在这个例子中`rownames` 应该是`rowname 和`by = ("rownames" = "Symbol"` 应该是`by = c("rownames" = "Symbol"` (3认同)

Mar*_*ski 6

这有帮助吗?

dplyr::left_join(x.tsummary %>%
                                    mutate(Symbol = rownames(x.tsummary)),
                                 sto.info,
                                 by = 'Symbol')
Run Code Online (Sandbox Code Playgroud)

  • 我认为它足够作为答案:) (3认同)