R读取文件报错及read.x()函数用法小结

有时候用R读取一个乱七八糟的表格的时候会出错,特别是一个格子中存在大量标点符号的时候。这里有一个9951*9的表格,利用下面的代码读取:

gogmt = read.table("04. GeneSet_GO(Shared).gmt",header = T, sep = "\t",stringsAsFactors = FALSE)

会报错:

报错
读取的结果只有一部分, 没有读取完:
数据缺失
我们只要再加上一个参数:quote = "" 即可

gogmt = read.table("04. GeneSet_GO(Shared).gmt",header = T, sep = "\t",stringsAsFactors = FALSE, quote = "")

则不会在报错了。
数据完整了

下面在简单介绍一些read.x的常用参数:
(1)file:需要读取的文件名
(2)header:指出一个文件是否包含表头,默认为F
(3)sep:分隔符是什么,默认为sep=""
(4)quote:对于有特殊字符的字符串划定界限的字符串,默认为双引号或单引号
(5)dec:指明数据文件中的小数的小数点
(6)numerals:字符串类型。用于指定文件中的数字转换为双精度数据时丢失精度的情况下如何进行转换。
(7)row.names:保存行名的向量。可以使用此参数以向量的形式给出每行的实际行名。或者要读取的表中包含行名称的列序号或列名字符串。在数据文件中有行头且首行的字段名比数据列少一个的情况下,数据文件中第1列将被视为行名称。除此情况外,在没有给定row.names参数时,读取的行名将会自动编号。可以使用row.names = NULL强制行进行编号。
(8)col.names:指定列名的向量。
注意区分:
rownames、colnames是base包中的行名、列名函数;
而row.names、col.names是read.table函数中的行名、参数
(9)as.is
该参数用于确定read.table()函数读取字符型数据时是否转换为因子型变量。当其取值为FALSE时,该函数将把字符型数据转换为因子型数据,取值为TRUE时,仍将其保留为字符型数据。其取值可以是逻辑值向量(必要时可以循环赋值),数值型向量或字符型向量,以控制哪些列不被转换为因子。
注意:可以通过设置参数 colClasses = "character"来阻止所有列转换为因子,包括数值型的列。
(10)na.strings
可选的用于表示缺失值的字符向量。
na.strings=c("-9","?")把-9和?值在读取数据时候转换成NA
(11)colClasses
用于指定列所属类的字符串向量。
(12)nrows
整型数。用于指定从文件中读取的最大行数。负数或其它无效值将会被忽略。
(13)skip
整型数。读取数据时忽略的行数。
(14)check.names
逻辑值。该参数值设置为TRUE时,数据框中的变量名将会被检查,以确保符在语法上是有效的变量名称。
(15)fill
逻辑值。在没有忽略空白行的情况下(即blank.lines.skip=FLASE),且fill设置为TRUE时,如果数据文件中某行的数据少于其他行,则自动添加空白域。
(16)strip.white
逻辑值,默认为FALSE。此参数只在指定了sep参数时有效。当此参数设置为TRUE时,数据文件中没有包围的字符串域的前边和后边的空格将会被去掉。
(17)blank.lines.skip
逻辑值,此参数值设置为TRUE时,数据文件中的空白行将被忽略。默认值为TRUE。
(18)comment.char
字符型。包含单个字符或空字符的向量。代表注释字符的开始字符。可以使用""关闭注释。
(19)allowEscapes
逻辑值。类似“\n”这种C风格的转义符。如果这种转义符并不是包含在字符串中,该函数可能解释为字段分隔符。
(20)flush
逻辑值。默认值为FALSE。当该参数值设置为TRUE时,则该函数读取完指定列数后将转到下一行。这允许用户在最后一个字段后面添加注释。
(21)stringsAsFactors
逻辑值,标记处字符向量是否需要转化为因子,默认是TRUE。

首先,明确String与Factor的区别。String是字符串,可用于记录琐细信息(比如发现UFO者的口头描述内容)。Factor是因此,用于给一行记录做“分类标记”,比如人的性别factors可以设置为“男”、“女”,工作效率最高日期的factors可以是“Mon”、"Tue",对于工作效率也可以有“high”、“low”等。对于Factor类型属性,R语言可以自动统计数据的factor水平(level),比如,男,有多少,Mon有多少等。
stringsAsFactors = F意味着,“在读入数据时,遇到字符串之后,不将其转换为factors,仍然保留为字符串格式”。

(22)fileEncoding
字符串类型,指定文件的编码方式。如果指定了该参数,则文本数据按照指定的格式重新编码。
(23)encoding
假定输入字符串的编码方式。
(24)text
字符串类型。当未提供file参数时,则函数可以通过一个文本链接从text中读取数据。
(25)skipNul
逻辑值。是否忽略空值。默认为FALSE。

后面read.x部分的参考资料:R语言_read.table()函数用法

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339