如何在R中的数据框中合并和连接列?

时间:2016-06-02 19:23:09

标签: r

我有一个蛋白质数据框,其本地化看起来像这样:

Protein_loc <- data.frame(
Pro_ID = c("Palid", "Tars", "Palid", "Eef2", "Actn1", "Tars"),
Loc = c("Actin cyto", "Actin cyto", "Axon", "Aggresome", "Cell junc", "Cell junc"))

而且,我想将它合并并连接成一个如下所示的数据框:

Subcell_loc <- data.frame(
Loc = c("Actin cyto", "Axon", "Aggresome", "Cell junc"),
Pro_ID = c("Palid, Tars", "Palid", "Eef2", "Actn1, Tars"))

我可以使用连接函数在Excel中轻松完成此操作,但我无法在R中找到一种方法。

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

欢迎使用R.看起来你只是不知道应该使用哪种功能。我们可以使用aggregate

Subcell_loc <- aggregate(Pro_ID ~ Loc, Protein_loc, paste, sep = ", ")

输出

         Loc      Pro_ID
1 Actin cyto Palid, Tars
2  Aggresome        Eef2
3       Axon       Palid
4  Cell junc Actn1, Tars

这会将功能paste(, sep = ", ")应用于群组Pro_ID的所有Loc。您可以aggregate?aggregate了解详情。 Pro_ID ~ Loc是一个公式,左侧取决于右侧。您可以从?formula了解更多信息。它对于构建统计模型特别有用。

函数paste()用于连接字符串。尝试:

paste("abc", "def", sep = ", ")

它将字符串“abc”与“def”连接起来,中间有一个分隔符“,”。您也可以尝试sep = " * "