R 导入未按逻辑方式排序的数据
我有以下形式的数据:R 导入未按逻辑方式排序的数据,r,dataframe,import,R,Dataframe,Import,我有以下形式的数据: >sp|A6NMZ2|SNTAN_HUMAN Sentan OS=Homo sapiens OX=9606 GN=SNTN PE=2 SV=1 39 S AGC/PKA RKMPKRISISKQLAS 25.507 22.884 >sp|O00501|CLD5_HUMAN Claudin-5 OS=Homo sapiens OX=9606 GN=CLDN5 PE=2 SV=1 201
>sp|A6NMZ2|SNTAN_HUMAN Sentan OS=Homo sapiens OX=9606 GN=SNTN PE=2 SV=1
39 S AGC/PKA RKMPKRISISKQLAS 25.507 22.884
>sp|O00501|CLD5_HUMAN Claudin-5 OS=Homo sapiens OX=9606 GN=CLDN5 PE=2 SV=1
201 S AGC/PKA LSFPVKYSAPRRPTA 23.138 22.884
207 T AGC/PKA YSAPRRPTATGDYDK 25.897 22.884
>sp|O14618|CCS_HUMAN Copper chaperone for superoxide dismutase OS=Homo sapiens OX=9606 GN=CCS PE=1 SV=1
267 S AGC/PKA AGKGRKESAQPPAHL 25.541 22.884
>sp|O14828|SCAM3_HUMAN Secretory carrier-associated membrane protein 3 OS=Homo sapiens OX=9606 GN=SCAMP3 PE=1 SV=3
32 S AGC/PKA AVIQHRPSRQYATLD 24.52 22.884
76 S AGC/PKA LQPSRKLSPTEPKNY 27.39 22.884
我如何在R中将其导入如下数据帧:
A6NMZ2 25.507
O00501 23.138
O00501 25.897
等等。数据中有一种模式,名称(第1列)在第2列的行中,以sp“开头,由
“|”
分隔,数字(第2列)在第5列的sp“行之后,类似这样应该可以工作:
x <- readLines("myFile.txt")
do.call(rbind,
lapply(split(x, cumsum(grepl(">sp", x, fixed = TRUE))), function(i){
cbind.data.frame(Col1 = unlist(strsplit(i[ 1 ], "|", fixed = TRUE))[ 2 ],
Col2 = read.table(text = i[ 2:length(i) ])[, 5])
}))
# Col1 Col2
# 1 A6NMZ2 25.507
# 2.1 O00501 23.138
# 2.2 O00501 25.897
# 3 O14618 25.541
# 4.1 O14828 24.520
# 4.2 O14828 27.390
x我在尝试您的代码时遇到此错误:扫描错误(file=file,what=what,sep=sep,quote=quote,dec=dec,:第1行没有12个元素