R语言read.table函数

2020年10月31日19:01:06R语言read.table函数已关闭评论

R语言read.table函数

read.table函数可以读取外部数据至一个数据框对象中。不过,该函数对于其外部文件的格式往往会有一些特殊的要求。

·第一行数据要可以作为该数据框各个列的名称。

·随后的其他条目是各个列的值,并且每行采用相同的分隔符进行分隔。

read.table函数的基本形式为:


read.table(file, header = FALSE, sep = ""
,encoding = "unknown",
…)

例如,以下是一段网站日志文件。


数据文件read.table.data.txt
-------------------------------------------------------------------------------
ip time file http_code size
141.243.1.172 [29:23:53:25] "GET /Software.html HTTP/1.0" 200 1497
query2.lycos.cs.cmu.edu [29:23:53:36] "GET /Consumer.html HTTP/1.0" 200 1325
tanuki.twics.com [29:23:53:53] "GET /News.html HTTP/1.0" 200 1014
wpbfl2-45.gate.net [29:23:54:15] "GET / HTTP/1.0" 200 4889
wpbfl2-45.gate.net [29:23:54:16] "GET /icons/circle_logo_small.gif HTTP/1.0" 200 2624
                       --------<
中间数据省略展示>--------
wpbfl2-45.gate.net [29:23:54:19] "GET /icons/book.gif HTTP/1.0" 200 156
wpbfl2-45.gate.net [29:23:54:19] "GET /logos/us-flag.gif HTTP/1.0" 200 2788
tanuki.twics.com [29:23:54:19] "GET /docs/OSWRCRA/general/hotline HTTP/1.0" 302 0

观察上面的数据可以发现,文件内包括了若干行,它对应读取后数据框的行数据。同时可发现该文件中每行均有4个空格,这就是列的分隔符。可通过read.table函数读取上面的文件,代码如下:


root="C:/Users/liming/Desktop/
写书/chap2/
读取/"
file=paste(root,"read.table.data.txt",sep="")
read.data<-read.table(file,header=TRUE,as.is=c(2,5))

其中,root设置了文件的工作目录,这样在读取多个数据文件时方便修改路径。在read.table函数中,header被设置为TRUE,依据空格分隔符从第一行中提取出每列的名称依次是"ip""time""file""http_code""size"。as.is设置为向量c(2,5),表示要求在读取时不要把第2和第5列转化为因子。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。