R语言数据导入和导出
关键词:r语言导入数据、r语言导出数据、r语言如何导出数据
前言
福尔·摩斯曾说过:“数据,数据,没有数据的推理是罪恶!”不过比起有意思的统计分析,数据的导入与导出显得十分的无趣,但是不得不说统计分析的数据导入与导出是个让人沮丧的任务,而且耗时巨大。今天分享的是R中数据的输出与一些特定格式的数据读入。
目录
1. 载入特定的数据集
2. 载入某个包中的数据集
3. 文件目录操作
4. 自定义路径和名称
5. 剪切板方式数据导入
6. 常用的读取指令read
7. 通过setwd定义路径
8. 读入R格式的文件
9. 逐行读取数据
10. 数据导出
1. 载入特定的数据集
# 查看数据集列表
data()
# 载入CO2数据集(来自datasets)
data(CO2)
2. 载入某个包中的数据集
# 载入package MASS
library(MASS)
# 查看MASS中数据集
data(package="MASS")
# 载入MASS中的SP500数据集,也可简化为data(SP500)
data(SP500,package="MASS")
3. 文件目录操作
# 返回当前工作目录(一般为默认情况)
getwd()
# 也可以写成setwd("d:\\rdata")
setwd("d:/rdata")
getwd()
4. 自定义路径和名称
# -------------------------
oPath <- "C:/Users/abdata/Desktop/"
oName <- "data.txt" ### data.csv
oPathFile <- paste(oPath,oName,sep="",collapse="")
# -------------------------
oPath <- "C:/Users/abdata/Desktop/"
oName <- "csjwdfw" ### data.csv
oType <- "csv"
oPathFile <- paste(oPath,oName,'.',oType,sep="",collapse="")
# -------------------------
5. 剪切板方式数据导入
# 先将数据复制到剪切板,然后将数据读入到R中
# clipboard即剪切板
data <- read.delim("clipboard")
# 或
data <- read.table("clipboard", header=T)
6. 常用的读取指令read
# 常用的读取指令read
data <- read.table(oPathFile, header=T)
data
data <- read.csv(oPathFile, header=T)
data
7. 通过setwd定义路径
# 通过setwd定义路径
setwd("d:/rdata")
data <- read.table("salary.txt",header=T)
data
data <- read.csv("salary.csv",header=T)
data
# 由于不存在header参数,skip=1说明读取时跳过表示名称的第一行
data <- scan("salary.txt",skip=1,what=list(City="",Work=0,Price=0,Salary=0))
data
8. 读入R格式的文件
# R的数据或更一般的对象(如向量、矩阵、数据框、列表甚至函数等)可以通过save()保存为R专有的文件格式,以Rdata为后缀。要读取这类文件,需要用到函数load()来加载!!!
# load("d:/rdata/salary.Rdata")
setwd("d:/rdata")
load("salary.Rdata")
head(data,5)
9. 逐行读取数据
# 逐行读取数据
con <- file(oPathFile,"r")
f1 = readLines(con, n=1, encoding='UTF-8') # 读文件一行
while(length(f1)!=0){
f1=readLines(con, n=1, encoding='UTF-8') # 读一行
}
close(con)
10. 数据导出
前面介绍数据的导入,这对数据分析固然十分重要,但分析的一些中间过程或结果会产生新的数据集,我们也需要保存起来。根据需要,R中的数据也可以保存为不同格式的文件。
- 使用函数cat()
# 在屏幕上输出 cat(c("AB", "C"), c("E", "F"), "n", sep="") i <- 1:5 # 以逗号为分隔符 cat("i = ", i, "n",sep=",")
- 向指定文件写入数据
#-------------------- cat(c("AB", "C"), c("E", "F"),file="d:/data/cat.txt",sep=".") #-------------------- i = 1:5 # cat(i,file="d:/data/cat.txt",append=TRUE) cat(i,file=oPathFile,append=TRUE) #-------------------- # 分隔符sep="\n"表示换行 # a=file("d:/data/cat.txt") a = file(oPathFile) cat("1 2 3 4 ","2 3 5 7","11 13 15 17", file=a, sep="\n") read.table(a) #--------------------
- 保存为文本文件(write.table)
# write.csv(data,file="d:/data/salary1.csv",row.names=F,quote=F) write.csv(data,file=oPathFile,row.names=F,quote=F) write.table(data,file=oPathFile,row.names=F,quote=F)
- 保存R格式文件
save(data,file="d:/data/salary1.Rdata") load("d:/data/salary.Rdata")
- 保存为其他类型文件
# 保存为sav文件格式 library(foreign) write.foreign(data,datafile="d:/data/salary.sav",codefile="d:/data/code.txt",package="SPSS")
转载请注明:数据分析 » R语言数据导入和导出_R语言培训