一.读取文件
1.1 文件在工作目录中(可将文件转换为csv格式后用read.table来读取)
代码语言:javascript
复制x <- read.table ("input.txt")
head(x)#截取文件x头部数据(默认6行)
head(x,n=10)
tail(x)#截取文件x尾部数据
x <- read.table ("input.csv",sep=",")#根据“,”分列 csv文件默认分隔符为“,”
x <- read.table ("input.csv",sep=",",header = T)#延用列名
x <- read.table ("input.test.txt",sep=",",header = T,skip = 5)#跳过前五行(可能为注释信息)
x <- read.table ("input.csv",sep=",",header = T,nrows = 100)#只读取文件前100行
x <- read.table ("input.csv",sep=",",header = T,skip = 50,nrows = 100)#从第50行读到第100行
x <- read.table ("input.csv",sep=",",header = T,na.strings = " ")#将CSV文件中的空白值填充为NA
x <- read.table ("input.csv",sep=",",header = T,skip = 50,nrows = 100,
stringsAsFactors = F)#R读取字符串时会默认转换为因子,当不需要转换时使用该参数
x <- read.table(gzfile("input.txt.gz"))#读取压缩文件
1.2 文件在网页中(经常出错,如果真的需要,请详细阅读“XML”包的帮助文档)
代码语言:javascript
复制install.packages("XML")
require(XML)
readHTMLTable("https://en.wikipedia.org/wiki/World_population",which=3)#读取该网站中第3个表格的数据
1.3 读取excel文件(文件量较小时将其转换为csv文件按1.1操作)
代码语言:javascript
复制install.packages("readxl")
library(readxl)
read_excel("data.xlsx")
1.4
代码语言:javascript
复制x <- read.table("clipboard",sep="t")#读取剪贴板的内容,"t"表示制表符,sep="t"表示以制表符作为分隔符读取文件
x <- readClipboard()#读取剪贴板的内容
二.写入文件
代码语言:javascript
复制x <- read.table("input.txt",header = T)
write.table (x,file="c:/users/lzp/Desktop/Rdata/newfile.txt")
write.table (x,file=newfile.txt)#x为想要储存的对象,file为命名
write.table (x,file=newfile.csv,sep="t")
write.table (x,file=newfile.csv,sep="t",row.names = FALSE) #写入文件时去掉行名
write.table (x,file=newfile.csv,sep="t",quote=FALSE,append=FALSE,na="NA")#quote=FALSE,表示字符串去掉引号;append=FALSE,当文件名相同时覆盖原文件
write.table (x,file=gzfile (newfile.csv.gz),sep="t",
quote=FALSE,append=FALSE,na="NA")# 写入文件为压缩包
代码语言:javascript
复制saveRDS(iris,file="iris.RDS")#将iris存储为RDS文件
readRDS("iris.RDS")#读取文件
代码语言:javascript
复制save.image()#保存当前工作空间中所有对象
三.数据转换
1.rbind
代码语言:javascript
复制data1 <- head(USArrests,30)
data2 <- tail(USArrests,30)
data4 <- rbind(data1,data2)
rownames(data4)
length(rownames(data4))
duplicated(data4)
data4[duplicated(data4),]#取出重qaq复的部分
data4[!duplicated(data4),]#取出不重复部分
unique (data4)