我有这个df
V1 V2 V3
7f7e ASN 440 E GLY 124 C
3279 7f7e ASP 442 E THR 123 C
3280 7f7e ARG 346 E TYR 119 C
3281 7f7e LEU 441 E GLY 117 C
3282 7f7e ASN 440 E ILE 115 C
3283 7f7e ASN 440 E ALA 125 C
3284 7f7e SER 443 E GLY 124 C
3285 7f7e ASP 442 E TYR 119 C
我想做的是让一个df,每个V2只有一行,在V3中,所有对应于V2的值都放在一个字符串中。比如说
V1 V2 V3
7f7e ASN 440 E GLY 124 C, ILE 115 C, ALA 125 C
先谢谢你了!
2条答案
按热度按时间mkshixfv1#
我清理了你的数据,用制表符分隔每一列,并将其保存到一个文件
stack_overflow.tsv
-它看起来像这样(从文本编辑器剪切和粘贴):使用
tidyverse
软件包,您要做的事情非常简单:你只需要group_by
组成唯一组的变量,在本例中是V1
和V2
,然后你可以对剩下的变量做任何你想做的事情,以一种分组的方式-在本例中,用paste
命令将它们连接成一行。我调用summarize
,这样每个唯一的组都被折叠成一行,调用.groups='drop'
,这样最终的 Dataframe 就不再分组了--你可能想这样做,也可能不想这样做,这取决于你下一步打算做什么。结果:
l7mqbcuq2#
在Base R中,你可以: