我有一个数据框和一列有蛋白质ID以及一堆无意义的东西,如下图所示。我想要的id始终是第4到第9个字符,所以我想遍历列并提取这些以将它们导出到另一个csv文件。该列还充满了我不想要的NA。我努力想出一个R中的循环,它将每次切出我想要的确切字符,如果有NA,则什么也不做,然后在找到空白时停止,因为这将是列表的结尾。列循环遍历R中的一列并提取字符
模拟例如
Prot Id's
sp|IDIDID|PSKSJ_45HELI^sp|IDIDID|FRUEHFJ^HSLHFHG#%$^9y7hiuahl
sp|IDIDID|PSKSJ_45HELI^spuegfuehfw3|IDIDID|FRUEHFJ^HDGFLFHEHFN
NA
NA
sp|IDIDID|PSKSJ_45HELIWUEU^#H63hHU6e^sp|IDIDID|FRUEHFJ^HFGHG:WHFUWH^hfue
NA
sp|IDIDID|PSKSJ_45HELI^spJFBEFBUEBFE|IDIDID|FRUEHFJ^
NA
NA
,说IDIDID是我想要得到的部分,任何帮助将不胜感激
听起来像一个'grep'解决方案。 – CephBirk
'read.table(text = as.character(dd $ Prot_Ids),sep ='|',fill = TRUE)'把所有的ID放在不同的列中 – rawr