我有一個數據框和一列有蛋白質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