R语言报错 | Error in scan(file = file), line 5503 did not have 12 elements

一般是读取txt文件的时候遇到上述问题,原因是读取table的时候,不同的行有空格,导致列数不同,无法对齐。

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 5503 did not have 12 elements

解决方法一般有三步:
(1)跳过注释行。

probe_test<-read.table("GPL5175-probe-annonation.txt",comment.char = "#") 
#这里使用参数comment.char

#ID = Unique identifier for the transcript cluster
#GB_LIST = GenBank and RefSeq Accessions from mrna_assignment column
#SPOT_ID = genomic location of the transcript cluster in the version of the genome assembly used at annotation time. Coordinates are standard 1-based (length=stop-start+1).
#seqname = chromosome number
#RANGE_GB = NCBI RefSeq for chromosome of current build
#RANGE_STRAND = strand (+|-)
(如上就是注释行,一般以#开头)

(2)设置分隔符。

probe_test<-read.table("GPL5175-probe-annonation.txt",comment.char = "#",sep = "\t") 
#添加`sep`参数

一般sep规定读取文件的时候,用什么分割,作为一列。这里我们根据我们文件的实际情况,选择tab键作为分割。

(3)填充空白项。

#如果上述依然不能解决问题,最重要的就是下面这一步
probe_test<-read.table("GPL5175-probe-annonation.txt",comment.char = "#",sep = "\t",fill=TRUE) 
#对fill参数进行设定

(4)规定用NA进行填充空白字符。

接下来如果想要更好,就是用NA来填充空白字符。

probe_test<-read.table("GPL5175-probe-annonation.txt",comment.char = "#",sep = "\t",fill=TRUE,na.strings = "")

以上,就是解决上述问题的三(四)步骤。

补充:如果这个时候还报错(warning),就要进行第五部。
Warning message:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
EOF within quoted string

(五)quote=“”

probe_test<-read.table("GPL5175-probe-annonation.txt",comment.char = "#",sep = "\t",fill=TRUE,na.strings = "",quote="")

即可解决问题。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值