如何在R语言中读入数据和导出存储数据

Python013

如何在R语言中读入数据和导出存储数据,第1张

1.R数据的保存与加载

可通过save()函数保存为.Rdata文件,通过load()函数将数据加载到R中。

[ruby] view plain copy

> a <- 1:10

> save(a,file='d://data//dumData.Rdata')

> rm(a)   #将对象a从R中删除

> load('d://data//dumData.Rdata')

> print(a)

[1]  1  2  3  4  5  6  7  8  9 10

2.CSV文件的导入与导出

下面创建df1的数据框,通过函数write.csv()保存为一个.csv文件,然后通过read.csv()将df1加载到数据框df2中。

[ruby] view plain copy

> var1 <- 1:5

> var2 <- (1:5)/10

> var3 <- c("R and","Data Mining","Examples","Case","Studies")

> df1 <- data.frame(var1,var2,var3)

> names(df1) <- c("VariableInt","VariableReal","VariableChar")

> write.csv(df1,"d://data//dummmyData.csv",row.names = FALSE)

> df2 <- read.csv("d://data//dummmyData.csv")

> print(df2)

VariableInt VariableReal VariableChar

1           1          0.1        R and

2           2          0.2  Data Mining

3           3          0.3     Examples

4           4          0.4         Case

5           5          0.5      Studies

3.通过ODBC导入与导出数据

RODBC提供了ODBC数据库的连接。

3.1从数据库中读取数据

odbcConnect()建立一个数据库连接,sqlQuery()向数据库发送一个SQL查询,odbcClose()关闭数据库连接。

[ruby] view plain copy

library(RODBC)

connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")

query <- "SELECT * FROM lib.table WHERE ..."

# or read query from file

# query <- readChar("data/myQuery.sql", nchars=99999)

myData <- sqlQuery(connection, query, errors = TRUE)

odbcClose(connection)

sqlSave()和sqlUpdate()用于写入或更新一个ODBC数据库表。

3.2从Excel文件中导入与导出数据

[ruby] view plain copy

library("RODBC")

conn<-odbcConnectExcel("D:/data/Amtrak.xls")

Amtrak<-sqlFetch(conn,"Data")

close(conn)

1.对于简单文件,可以简单读取,ex1 <- read.table("ex1.txt")

2.对于复杂文件,ex1 <-read.table("文件名如ex1.txt",sep="\t",header=T,row.names = 1,comment.char="!",sep="\t")

read.table默认分隔符为\t

sep="\t"目的为识别行,对同一表格运行有无此命令的两种结果对比显而易见

header=T目的为把第一行设置为表头

比较复杂的文档需要跳过有些部分的,根据需要掉过部分的特点,如此下图文档不需要的部分都有感叹号, commeat.char="!"意思为跳过!那一行,去掉我们不需要的那部分, 即读出了表达矩阵

设置第一列为列名的参数是row.names = 1

read.CSV(("文件名",sep=",")#因为CSV默认分隔符是逗号

save(b,file="b_input.Rdata)#把读出来的文件b存为R语言专用数据文件,以后就可以直接load(file="b_input.Rdata)打开

library(readxl)#加载包,无法加载就安装

a<-read_excel("123.xlsx")#注意要把数据文件放在你打开的R-project目录下,不然读取不到

#设置默认路径

#显示当前工作目录(软件默认使用工作目录)

getwd()

#修改默认工作目录

setwd(dir = "e:/Rwork/")

#提示工作目录

getwd()

#查看目录下包含的文件

list.files()

#或者

dir()

#R包安装

install.packages("vcd")

#显示库所在的位置

.libPaths()

#显示库里有哪些安装包

library()

#载入包

library(vcd)

#or

require(vcd)

#直接输入函数看某些函数来自于R的哪个包

#如何使用R包

help(package="vcd")

help(package="ggplot2")

#查看包的信息,列出R包的基础内容,显示内置的数据集的内容,给包中的函数作为案例来使用

library(help="vcd")

#还有一些包中的函数,是包的核心内容,扩展了R的功能

Arthritis

#列出包中所有包含的函数

ls("package:vcd")

#每个函数如何使用查看对应帮助文档

#列出R包中包含的所有数据集

data(package="vcd")

#使用完一个包之后,将包从内存中移除

detach("package:vcd")

#再使用

Arthritis

#会出现报错:需要重新再加载

#删除已安装的包

remove.packages("vcd")

#会将R包从硬盘上彻底删除,无法继续使用了,用得不多

#R包的批量移植(更换新设备)

#列出当前环境中已安装的R包

installed.packages()

#取第一列,,,使用下标来访问数据框的第一列

installed.packages()[,1]

#将所以R包名字保存到一个文件中

Rpack<- installed.packages()[,1]

save(Rpack,file = "Rpack.Rwork")

#将这个文件移到另一个设备上

#在另一个设备上使用load函数打开这个文件

#存到另外一个变量Rpack中

#看到这些R包

#Rpack

#批量安装这些R包

#使用一个for循环

for(i in Rpack)install.packages(i)

#如何获取R的帮助信息

help.start()

#查看某个函数的功能

help(sum)

#or

?plot

?sum

#快速了解函数参数而不想查阅详细文档

args(plot)

#查看函数使用案例

example(mean)

example("hist")

#列出R的一些案例图

demo(graphics)

#查看R安装的某个包的帮助文档

help(package=ggplot2)

#有些R包包含vignette文档,这中文档包含更多内容,也更加规范,里面有简介、教程、开发文档等

vignette()

#不是每个包都包含这种格式的文档

vignette("xts")

#有时安装了某包但使用help命令搜索不到相关函数,是因为没有载入这个包

#需用使用library函数载入这个包

#载入之后才能使用help函数找到相关文档

#或者直接在help命令中加上package选项  等于  要搜索R包的名字,这种方法比较麻烦

#??接要搜索函数名字,这种情况下不加载包也可以

#有些情况下,不知道具体的函数名,只能模糊搜索

#查找与绘制热图相关的帮助信息(使用这条命令进行本地搜索)

help.search(heatmap)

#提示搜索不到

#因为需要加上引号

help.search("heatmap")

#搜到stats包中的heatmap函数,可以用来绘制热图

#help.search("heatmap")也可以简写成下面一条命令

??heatmap#不需要加引号

#列出所有包含关键字的内容

apropos("sum")

#可以通过mod参数调整查询的内容

apropos("sum",mod="function")#只列出函数

#help.search或??都是进行本地的文档搜索

#有时搜索不到或者文档太老了可以使用RSiteSearch()函数进行网络搜索

RSiteSearch(matlab)

#运行函数会使用默认浏览器来访问R官网,在官网中进行搜索,列出更多的结果

#可以利用搜索引擎进行问题搜索