我有一个蛋白质数据框,其本地化看起来像这样:
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中找到一种方法。
非常感谢任何帮助,谢谢。
答案 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 = " * "
。