1、读取网页文件
需要用到XML包,详情见XML包的帮助文档。
1.1读取网页中的文本文件
引号内是文本文件的具体位置,但是这个网址已经被墙了。
x <- read.table("https://codeload.github.com/mperdeck/LINQtoCSV/zip/master",header = TRUE)
1.2读取嵌入到网页中的表格
readHTMLTable函数:引号内加网址链接,which参数指定读取网页中第几个表格。
2、读取其他统计软件格式文件的数据
首先我们可以对文件进行预处理,在保存文件时保存为成.csv文件,这样R中就可以通过read.table进行读取。但是不可能每个软件我们都事先买下来,因此我们就可以通过R中的foreign基础包,可以导入其他统计软件的数据。这个包包含像spss,arff等软件对应储存各具特色的格式文件的读取以及编辑函数。
图1 foreign包
如果遇到不在foreign包内的文件格式时有以下几种方法解决问题
- 另存为文本文件
- 搜索R中对应的包。例如想要读取matlab软件下的.m文件则需要输入以下代码,就会显示需要用到的包。
RSiteSearch("Matlab")
图1 代码搜索结果
3、读取剪切板中的文件
clipboard指剪切板的意思,sep指明数据的分隔符。先将需要的内容复制好再输入以下代码即可。
x<-read.table("clipboard",header=T,sep="\t")
x
此外输入以下代码也可以起到同样的效果
readClipboard()
图2 读取剪切板数据
3、读取压缩格式的文本文件
R语言直接读取压缩文件,不需要提前解压缩。
read.table(gzfile("input.txt.gz"))
图3 读取压缩文件
3、读取内容格式不标准的文件格式
3.1 readLines函数
该函数按行读取文件,n的值指定读取的行数。返回结果是字符串。
readLines("input.csv",n=5)
图4 readLines函数读取结果
3.2 scan函数(写的不对)
character():读取每行第一个数据为字符串,括号内数字为读取的次数。默认是0,即一直读取直至行尾,character(3)则指读取这一行前3个字符串就停止扫描,符合字符串的扫描结果都会返回。
numeric():读取每行第一个数据为数值,括号内数字为读取的次数。默认是0,即一直读取直至行尾,numeric(3)则指读取这一行前3个数值就停止扫描,符合数值的扫描结果都会返回。
scan("scan.txt",what=list(character(3),numeric(0),numeric(0)))
图5 scan的结果图
3、读取文件方法总结
file表示要读取的文件。file可以是
①绝对路径或者相对路径,但是一定要注意,因为在R语言中\是转义符,所以路径分隔符必须写成\,比如“C:\myfile\myfile.txt”或者
Sys.setenv(JAVA_HOME='C://Program Files/Java/jdk1.6.0_21/jre')
②可以使剪切板的内容。
③使用file.choose(),弹出对话框,让你选择文件位置。强烈推荐使用第三种方法,免去了记忆和书写文件路径的麻烦,特别是能够避免因数据文件位置移动带来的错误!例如:read.table(file.choose(),...)。







网友评论