一般是读取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<-("", = "#")
#这里使用参数
#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<-("", = "#",sep = "\t")
#添加`sep`参数
一般sep
规定读取文件的时候,用什么分割,作为一列。这里我们根据我们文件的实际情况,选择tab键作为分割。
(3)填充空白项。
#如果上述依然不能解决问题,最重要的就是下面这一步
probe_test<-("", = "#",sep = "\t",fill=TRUE)
#对fill参数进行设定
(4)规定用NA进行填充空白字符。
接下来如果想要更好,就是用NA来填充空白字符。
probe_test<-("", = "#",sep = "\t",fill=TRUE, = "")
以上,就是解决上述问题的三(四)步骤。
补充:如果这个时候还报错(warning),就要进行第五部。
Warning message:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
EOF within quoted string
(五)quote=“”
probe_test<-("", = "#",sep = "\t",fill=TRUE, = "",quote="")
即可解决问题。