dpames

时间:2015-12-30 11:07:43

标签: r dplyr

我使用dplyrs函数left_join来合并两个data.frames。

现在我想通过使用左侧data​​.frame中的rownamesleft_join的右侧data​​.frame中的相应列名来手动加入它们,但我收到错误:< / p>

  

错误:意外&#39; =&#39; in&#34; dplyr :: left_join(x.tsummary,sto.info,   by = c(rownames(x.tsummary)=&#34;

我的代码

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

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

2 个答案:

答案 0 :(得分:8)

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"))

答案 1 :(得分:6)

这有帮助吗?

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