我在R studio上有21列RNA转录信息的数据框,第8列(“ V8”)有21行,每行都有以下格式的文本字符串:Gbp4 | AW228052 | Mag-2 | Mpa-2 | Mpa2 |-| 5。
我正在尝试通过使用“ |”定界来提取此信息。作为分隔符并为每个部分创建单独的列,但是最终的输出似乎只是将字符散布到新的列中。
要执行定界,我一直在使用tidyr split()函数调用sep =“ |”和extra =“ drop。我也尝试过使用strsplit
separate(data = IKDNprBIND.Down_4OHT_d1_vs_DMSO.txt, col = V8, into = c("GeneName","Annotations1","Annotations2","Annotations3","Annotations4),"Annotations5","Annotations6","Annotations7", sep = "|",extra = "drop")
替代
strsplit(as.character(IKDNprBIND.Down_4OHT_d1_vs_DMSO.txt$V8),'|')
我要实现的目标:
[期望代码] [1]:https://i.stack.imgur.com/cffrA.png
我得到的输出如下:
[代码输出] [2]:https://i.stack.imgur.com/JWLIn.png
您可以看到'GeneName'列为空白,而是将字符串的第一个字符粘贴到第二列,并将其余字符粘贴到以下列。似乎不是用“ |”分隔我的代码按单个字符分隔,我不确定为什么会这样
Strsplit也不会将字符分开,而是返回带有每个行字符串字符的41个元素列表,如下所示:
[拆分输出] [3]:https://i.stack.imgur.com/SDjpR.png
我试图寻找一种解决方案,但大多数答案似乎仅通过使用split()就可以了,任何帮助将不胜感激!