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官网,在官网中进行搜索,列出更多的结果
#可以利用搜索引擎进行问题搜索