我使用dplyrs
函数left_join
来合并两个data.frames。
现在我想通过使用左侧data.frame中的rownames
和left_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那就太棒了。
答案 0 :(得分:8)
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"))
答案 1 :(得分:6)
这有帮助吗?
dplyr::left_join(x.tsummary %>%
mutate(Symbol = rownames(x.tsummary)),
sto.info,
by = 'Symbol')