RDataMining系列:Chapter 2 Data Import/Export (未完待续)

时间:2020-12-13 16:20:52

******************************

R中产生Rdata数据,以及save和load

******************************

R中产生的数据可以被存为Rdata,用save就好了,这种数据可以用load来导入

> a <- 1:10
> save(a, file = "data/dumData.Rdata")
> rm(a)
> load("data/dumData.Rdata")
> print(a)
[1] 1 2 3 4 5 6 7 8 9 10

***************

来自外界的数据: CSV and TXT

***************

 

***************

 

CSV (逗号分隔)

 

***************

write.csv就可以从这种文件来产生一个dataframe(类似于有列名的矩阵)

当然也有 read.csv来由R产生的数据生成.CSV文件:

 

> var1 <- 1:5
> var2 <- (1:5) / 10
> var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")
> a <- data.frame(var1, var2, var3)
> names(a) <- c("VariableInt", "VariableReal", "VariableChar")


> write.csv(a, "data/dummmyData.csv", row.names = FALSE)
> #rm(a)


> b <- read.csv("data/dummmyData.csv")
> print(b)

***************

TXT 指定分隔符号

***************

> write.table(d, file = "./foo.txt", row.names = F, quote = F) #产生的默认是以空格为分隔符号的
> help(read.table)
> readd = read.table(file="./foo.txt",sep = " ")

文档中还有

***************

 Import Data from SAS

***************

***************

 Import/Export via ODBC

***************

不太熟,放一放吧

转一篇别人写的:

R语言数据储存与读取

1. 首先用getwd() 获得当前目录,用setwd("C:/data")设定当前目录:

2.0 数据保存:创建数据框d:

>d <- data.frame(obs = c(1, 2, 3), treat = c("A", "B", "A"), weight = c(2.3, NA, 9))

2.1 保存为简单文本:

>write.table(d, file = "c:/data/foo.txt", row.names = F, quote = F)

2.2 保存为逗号分割文本:

>write.csv(d, file = "c:/data/foo.csv", row.names = F, quote = F)

2.3 保存为R格式文件:

>save(d, file = "c:/data/foo.Rdata")

2.4 保存工作空间镜像:

>save.image( ) = save(list =ls(all=TRUE), file=".RData")

3.0 数据读取:读取函数主要有:read.table( ), scan( ) ,read.fwf( ).

3.1 用 read.table( ) 读 "c:\data” 下houses.dat:

>setwd("C:/data"); HousePrice <- read.table(file="houses.dat")

如果明确数据第一行做表头,则使用header选项:

>HousePrice <- read.table("houses.dat", header=TRUE)

read.table( ) 变形有: aread.csv( ),read.csv2( ), read.delim( ), read.delim2( ).前两读取逗号分割数据,后两个读取其他分割符数据。

3.2  用scan( ) 比read.table( ) 更灵活。但要指定 变量类型:如:C:\data\data.dat:

M 65 168

M 70 172

F 54 156

F 58 163

>mydata <- scan("data.dat", what = list("", 0, 0))

>mydata <- scan("data.dat", what = list(Sex="", Weight=0, Height=0))

3.3 用read.fwf( )读取文件中一些固定宽度数据:如:C:\data\data.txt:

A1.501.2

A1.551.3

B1.601.4

>mydata <- read.fwf("data.txt", widths=c(1, 4, 3), col.names=c("X","Y","Z"))

4.0 excel格式数据读取:

4.1 利用剪切板:选择excel数据,再用(CTRL+C)复制。在R中键入命令:

>mydata <- read.delim("clipboard")

4.2 使用程序包 RODBC.如: c:\data\body.xls

Sex Weight Height

M 65 168

M 70 172

F 54 156

F 58 163

> library(RODBC)

> z <- odbcConnectExcel("c:/data/body.xls")

> foo <- sqlFetch(z, "Sheet1")

> close(z)