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),返回当前指标所有的位置
|