



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R语言数据导入之read.table来源:DataCamp Blog,香格里拉(o)/ blog 编译:思亮 qq:55531469你可能会觉得将数据导入R会让人非常沮丧。每个不同类型的文件导入R似乎都需要不同的函数,然后就迷失在众多的函数参数中。长话短说,通过本文这些都可以相当轻松,随时把不同的函数灵活使用,不论你是初学者还是更有经验的用户。为了满足这些需求,本文列举了几个较为简单的数据快速导入的方法,从最简单的文本文档到spss和sas的文档。请继续阅读后面的内容。你的数据导入数据前,需要获取数据,如何获取数据不在本文的探讨范围内。要点: 当你要导入数据前需要确认如下几点,这样能保证你正确导入数据到R中。 如果你用的是电子表格类(spreadsheet)的数据,第一行一般是表头,第一列往往是行号或者是样本数据的id 文件的分隔符要确认,常见有逗号(,),tab(),空格( ) 字符编码,一般非Window默认字符编码要使用fileEncoding参数调整 字段,数值或者名字中的空格要尽量避免使用,换句话说,每个词会可能被解析成单独的变量 如果需要可使用.代替空格用于词之间的分隔 短的变量名字要好于长的名字 尽量不要在列名中使用下列符号,如,?, $,%, , &, *, (, ),-,#, ?, /, |, , , , ; 如果使用excel表,应删除多余的列或者是注释一类的内容 确保缺失数据标记为空准备工作空间可以参考使用Rsudio这类的编辑器,为了确保工作空间中没有已有的对象对当前的操作有影响,需要清空内存对象。rm(list=ls()#清除内存对象读取txt文档将下述内容复制到yourdata.txt至e:/work下 / Contents of .txt16a27b38c49d510e我们需要用到setwd(e:/work)#设置工作空间df - read.table(yourdata.txt, header = F,comment.char=/)df# V1 V2 V3# 1 1 6 a# 2 2 7 b# 3 3 8 c# 4 4 9 d# 5 5 10 eread.table的英文帮助有点晦涩,现在讲各个参数详解 file:文件名,使用一个字符串,可能需要全路径符号不能出现,可以使用/ 或者。也可以是一个文本连接(见connection函数),也可以是一个URL链接的文本文档。 header: 逻辑值(FALSE或TRUE)文件第一行是否包含变量名(列名)。我们建议你明确地设定 header 参数。按照惯例,首行只有对应列的字段而没有行标签对应的字段。因此,它会比余下的行少一个字段。(如果需要在 R 里面看到这一行,设置 header = TRUE。)如果要读取的文件里面有行标签(row name)的头字段(可能是空的),以下面的方式读取 read.table(file.txt, header = TRUE, s = 1) sep: 文件中字段(列)的分隔符,打开文件可以看到文使用的分隔符,默认选择sep=(代表任意空白字符作为分隔符,如空格,制表符,换行符) quote: 默认情况下,字符串可以被或括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。对于sep = ,默认值改为 quote = 。 引号中使用引号:如果没有设定分隔字符,在被引号括起的字符串里面,引号需要用C格式的逃逸方式逃逸,即在引号前面直接加反斜杠 。 如果设定了分隔符,在被引号括起的字符串里面,按照电子表格的习惯,把引号重复两次以达到逃逸的效果。 例如 One string isnt two,one more 可以被下面的命令读取 read.table(testfile, sep = ,) 这在默认分隔符的文件里面不起作用。 dec:用来标志小数点的字符,有些国家用“,” 来区分小数点。 s: 用数字或者字符表示表中行号的列,若为NULL则会自动编号。一般当表中包含了表头时,如果第一行(表头行)的字段比数据的列数少一个时,指定首行为比较有用。 s:指定列名的字符向量。默认是V1,V2,V3,. as.is:read.table默认将字符型变量转化为因子类,该参数控制列是否保留字符型,可以是逻辑型,数值型或者是字符型向量。as.is对每列专用,而不是每个变量。因此,它对行标签(行号)列也同样适用(如果有的话)。 na.string:代表缺失数据的值,参数na.strings是一个可以包括一个或多个缺损值得字符描述方式的向量。数值列的空字段也被看作是缺损值。一般不用设置除非有的数据中“9999”这类表示缺失值情况出现时需要特别设置。 colClasses:指定各列数据类型的字符向量。除非你采取特别的行动,read.table将会为数据框的每个变量选择一个合适的类型。如果字段没有缺损以及不能直接转换,它会按 logical, integer, numeric 和 complex 的顺序依次判断字段类型。如果所有这些类型都失败了,变量会转变成因子。 参数 colClasses 和 as.is 提供了很大的控制权。as.is会抑制字符向量转换成因子(仅仅这个功能)。 colClasses运行为输入中的每个列设置需要的类型。 nrows:可读取的最大行数。 skip:读取数据时跳过的行数。有时数据中包含了特殊的文件头,或者是非结构化数据,这是需要分块处理skip可以帮助我们来跳过一些非表格结构的数据。 s:逻辑型,是否对变量名字的合理性检查,一般要符合R语言的变量命名要求,比如不用用“1a”这类的非法变量名字,也不能有重复的变量名字。 fill:逻辑型,如果为TRUE且当行的长度不一致时,用空白字段填充. strip.white: 用于删除不包含引号的字符型字段中头部或者尾部的空白部分。比如若表中某个列包含了“ hello” 和“hello”,如果没有引号的话,可能会被认为是同一个字符时,需要设置该参数为TRUE删除空白部分。 blank.line.skip: 默认情况下,read.table 忽略空白行。这可以通过设置 blank.lines.skip = FALSE 来改变。这个参数只有在和fill=TRUE共同使用时才有效。这时,可能是用空白行表明规则数据中的缺损样本。 comment.char: 字符型,用来标记注释行,如果该字符出现在某个行的开头,则改行将被忽略。默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。 如果确认数据文件中没有注释内容,用 comment.char = 会比较安全 (也可能让速度比较快)。 allowEscapes:逻辑型,是否允许使用C形式的逃逸字符。许多操作系统有在文本文件中用反斜杠作为逃逸标识字符的习惯,但是Windows系统是个例外(在路径名中使用反斜杠)。在R里面,用户可以自行设定这种习惯是否用于数据文件。控制符如 , , , , , , 八进制和十六进制如 40 和 x2A 一样描述。任何其它逃逸字符都看着是自己,包括反斜杠。 stringsAsFactors: 逻辑型,是否将字符型向量转为因子型。注意该方法会被as.is和colClasses覆盖。至此,R语言中读入文本文档的重要函数read.table的使用,读者根据以上内容应该可以处理下读入文本文档大部分情况。在此,笔者也强烈建议读者去实践各种利用R入读文本文档的代码。文本文件读入函数read.csv,read.csv2,read.delim, read.delim2等函数的参数使用均可参考本文。另外,文本文档读入的加速策略也总结如下: 单个大文件:可以采用data.table
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 调度培训考试题及答案
- (正式版)DB15∕T 3358-2024 《绵羊腹腔镜活体采卵技术规程》
- 电厂脱销考试题及答案
- 团队成员任务分配与跟踪管理模板
- 企业法律事务处理与合规管理模板
- 工业用材料进销存管理软件开发协议
- 高科技设备采购与技术支持协议
- 我的老师让我感动记叙文题写作(8篇)
- 音乐鉴赏之古典音乐之美:高中艺术教育教案
- 《五年级数学图形变换与代数方程解法》
- (7.2.2)-7.2啦啦操音乐创编的流程与方法
- GB/T 212-2008煤的工业分析方法
- 冀教版8年级上英语各单元语法课件
- 大班科学《玩转扑克牌》课件
- 高速公路改扩建桥梁拼宽施工技术及质量控制
- 双台110kV主变短路电流计算书
- DB1750-2019水电站(厂)防雷与接地性能测试技术规范
- 牛常见病防治课件
- 危险物品储存安全隐患排查整治表
- 装饰工程保修单
- IInterlib区域图书馆集群管理系统-用户手册
评论
0/150
提交评论