r - 如何连接在 R 中产生重复的列
问题描述
我从更大的数据框中获取了以下数据:
structure(list(ensembl_gene_id = c("ENSMUSG00000000486", "ENSMUSG00000000486",
"ENSMUSG00000000562", "ENSMUSG00000000562", "ENSMUSG00000001768",
"ENSMUSG00000001768"), entrezgene_id = c(54204L, 100043580L,
11542L, 69296L, 74030L, 408057L), external_gene_name = c("Septin1",
"Septin1", "Adora3", "Adora3", "Rin2", "Rin2"), description = c("septin 1 [Source:MGI Symbol;Acc:MGI:1858916]",
"septin 1 [Source:MGI Symbol;Acc:MGI:1858916]", "adenosine A3 receptor [Source:MGI Symbol;Acc:MGI:104847]",
"adenosine A3 receptor [Source:MGI Symbol;Acc:MGI:104847]", "Ras and Rab interactor 2 [Source:MGI Symbol;Acc:MGI:1921280]",
"Ras and Rab interactor 2 [Source:MGI Symbol;Acc:MGI:1921280]"
), n = c(2L, 2L, 2L, 2L, 2L, 2L)), row.names = c(NA, 6L), class = "data.frame")
取自较大的数据框,使用:
dpulicate_entrez <- annot %>%
add_count(ensembl_gene_id) %>%
filter(n>1)
一些基因有多个entrezgene_id。如何连接更大的数据框,这样我就没有重复的 ensembl_gene_id,但在 entrez_id 列中可以有多个 entrez ID。
例如,第一个 ensembl_gene_id 有 2 个重复项,因为我有 2 个 entrez_id。如何使我的数据框如下所示,这样我就不会得到 ensembl_gene_id 重复项:
ensembl_gene_id entrezgene_id external_gene_name description
1 ENSMUSG00000000486 54204;100043580 Septin1 septin 1 [Source:MGI Symbol;Acc:MGI:1858916]
这可以使用 dplyr 完成吗?
解决方案
推荐阅读
- python - 当键很奇怪时将列表映射到字典
- c# - 如何在 asp.net mvc 中使用 3 个数组获取 json 数据
- r - 如何按正确的降序制作哑铃图?
- python - 如何为 SymPy 中的符号分配属性并将它们放在同一个域中?
- bash - Linux在错误的地方添加字符串(使用echo、sed、cat)
- flutter - Dart:替换字符串中的前 n 个数字
- python - 当输出不等概率时如何提高准确性?
- java - Api 返回一个对象的对象而不是数组
- grails - spring security 重定向登录时端口 8080 来自哪里?如何将其更改为使用端口 443?
- linux - libcurl 中不支持或禁用协议 https(尽管实际上包含了 https)