搜索
查看: 2566|: 0

[资源分享] 用R语言做数据分析(8)——数据的输入与输出之READ函数

[复制链接]

165

主题

5

回帖

1123

积分

金牌会员

积分
1123
发表于 2014-5-24 03:31:19 | 显示全部楼层 |阅读模式
read.table() 函数
1、用于读入表格(表)类型的数据,同时生成数据框对象。
2、读入的数据要求有规则的分隔符,默认有:空格、TAB、换行符、回车符;其它的分隔符,通过sep=来进行指定。

        
                read.table(file, header = FALSE, sep = "", quote = "\"'",
                           dec = ".", row.names, col.names,
                           as.is = !stringsAsFactors,
                           na.strings = "NA", colClasses = NA, nrows = -1,
                           skip = 0, check.names = TRUE, fill = !blank.lines.skip,
                           strip.white = FALSE, blank.lines.skip = TRUE,
                           comment.char = "#",
                           allowEscapes = FALSE, flush = FALSE,
                           stringsAsFactors = default.stringsAsFactors(),
                           fileEncoding = "", encoding = "unknown")file:指定读入的文件,或者文件所在地址;header:是否读入列名,默认是不读入;

  • sep:来进行指定分隔符:读入的数据要求有规则的分隔符,可以是:空格、TAB、换行符、回车符;
  • as.is:读入的字符是否转换成因子,默认所有读入的字符都转换成因子;
  • colClasses:指定列的数据类型格式
  • header=TRUE 第一行是否是列的名称,默认是TRUE
  • stringsAsFactors= 是否字符转化成因子,默认是true
  • row.names=c()指定各行的名称
  • col.names=C()指定列的名称,如果读入是文件没有头,可以指定
  • skip=N 从文件第几行开始读入数据
  • nrows=N 读入的最大行数
  • na.strings=c()指定什么样的字符表示值缺少
  • comment.char=‘’ 指定评论的开始字符,默认是#
  • dec= 指定小数点数
  • encoding=指定非non-ASCII的编码规则
例如:
demo_3<-read.table('e:/demo_3.txt',header=T)
        
        

read.fwf()函数
1、适用用于读入数据相应没有相应的分隔符,但是读入的数据字段长度是固定长度。
2、数据导入R后,生成列表对象。
读入固定分隔长度的数据;

        
                read.fwf(file, widths, header = FALSE, sep = "        ",
                         skip = 0, row.names, col.names, n = -1,
                         buffersize = 2000)file:指定读入的文件,或者文件所在地址;

  • widths:指定分隔的长度,可以等于向量指定不同的分隔;
  • buffersize:一次最大的读入行数;
  • n:读入数据的行数,默认为无数;
        例如:在这个数据中,前面的3个字符与接下来的3个数字表示名称、得分,因为二个字段之间没有分隔符号,但其长度是固定的,所以适合用本函数。
        ABC123%$12
        TEX124@#12
        y o14 @@#
        
        read.fwf('e:/demo_1.txt',widths=c(3,3),col.names=c('name','score'));
        
        
w <- readline()函数
        1、用于程序的交互,根据输入的条件来判断下一步执行的方向;
        2、通过键盘读入一行数据;
        例如:根据输入的来判断后续程序的执行流程

        
                Demo_2<-function()
                {
                         input<-readline("DO you think R is hard to learn,Please give your choice:Y or N ")
                         if(input=="Y")
                                   cat("Come on; Spent more time.")
                         else
                                   cat("Good!")
                }
                 
        Demo_2()
        
        
Readlines() 函数
1、控制读入的数据行数,非批处理,有点类似于数据库中的指标操作,可对文件中的数据逐行操作。2、这个对于读入日志类的数据很有用。例如:通过对读入数据的每行来判断是否有需要的数据,有再对数据进行处理;tips:该数据配合R中的正则表达式相关函数,对于处理不规则的数据很强大。
        例如:
        1、  与文件demo_1建立连接
        con<- file("demo_3","r")
        2、指定每次执行只读入一行;
        RC<-readLines(con,n=1)
        3、关闭联接
        close(con)
         
        
        说明:
        1、如果读到文件的最后,则length(RC)=0;EOF文件最后返回的空值。
        2、N控制每次读入几行;
        3、当读到最后要重新开始的时间:seek(con=c,where=0),返回当前指标所有的位置


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-12-22 01:58 , Processed in 0.072971 second(s), 25 queries .

快速回复 返回顶部 返回列表