一:读取网络文件
1. 网络的文本文件
file = read.table("http/ftp协议的网络地址",header=T)
2.网路的非文本文件
例如读取html中的文件,就可以利用HML包,里面包含一个readHTMLTable的函数读取网页中的数据。其中which参数可以指定下载第几个表格。
install.packages("XML")
require(XML)
file = readHTMLTable("网址",which = 3) ## which=3指下载第三个表格。
3.R的foreign包
这个包可以读取很多类似SAS,SPSS数据。
[图片上传中...(image.png-6a3dc6-1582356467798-0)]
foreigon包
如果遇到其他格式的文件,不在foreign包中,第一是另存为文本文件,第二就是搜索R中对应的包。
RSiteSearch("matlab") ##比如搜索matlab包
同时R支持读取剪切板的数据。或者直接用readclipborad()不加任何参数
> file = read.table("clipborad",header = T,sep = ',')
> file = readclipborad()
R可以直接读取zip文件,不用解压
> read.table(gzfile("input.txt.gz"))
4.其他不标准的文件
readLines函数处理,读取每一行,并以字符串的形式返回结果。设置n限制读入的行数,
scan函数处理,what指定读取文件的内容的类型(numeric/character等)。
二:写入文件
1. 用write函数写入纯文本文件
1.write(对象名,file = '新文件名')
2.在写入和读取文件时会自动添加行号,所以在反复读取写入这会生成很多行号,则用rownames= FALSE设置为不添加行号。
3.默认情况下,read函数会为字符串添加双引号,可以用quote = FALSE去掉双引号。
4.如果目录下有同名文件,则会默认覆盖源文件,要是想讲文件写入到同一个文件,则可以用append函数,表示是否追加写入,append=TURE表示追加到结尾,append=FALSE表示清空原文件。
5.R也支持直接写入压缩文件,用对应的压缩函数,同时也可以写入为foreign包里面的文件格式。
write.table(x,file = "newfile.txt")
write.table(x,file = "newfile.csv",sep = '\t')
write.table(x,file = "newfile.csv",sep = '\t', quote=FALSE, append= FALSE, na = 'NA')
write.table(mtcars,file = gzfile("newfile=mtcats.txt.gz"))
网友评论