You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用group_by为重复基因添加序号生成新列的实现方法

解决方法

直接使用dplyr的组内序号生成功能即可,修正后的代码如下:

library(dplyr)

mygenes %>% 
  group_by(gene) %>% 
  mutate(isoform_id = paste(gene, row_number(), sep = "_"))

错误说明

  • 你之前的第一段代码错误在于使用了未定义的NUMBERS变量,实际上row_number()就能直接生成组内的连续整数序号
  • 第二段代码中的consecutive_id并非dplyr的内置函数,所以会报错

输出结果

执行后得到的dataframe如下:

# A tibble: 10 × 2
# Groups:   gene [5]
   gene   isoform_id
   <chr>  <chr>     
 1 PCDH9  PCDH9_1   
 2 PCDH9  PCDH9_2   
 3 PCDH9  PCDH9_3   
 4 PCDH9  PCDH9_4   
 5 CN0T6L CN0T6L_1  
 6 CN0T6l CN0T6l_1  
 7 CN0T6l CN0T6l_2  
 8 MRPL1  MRPL1_1   
 9 FRAS1  FRAS1_1   
10 FRAS1  FRAS1_2   

(注:CN0T6L和CN0T6l是大小写不同的字符串,会被识别为两个独立分组,因此各自从1开始计数,你期望结果里的CN0T6l_2和CN0T6l_3应为笔误)

内容的提问来源于stack exchange,提问作者aminards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:21:09