在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文对应《R语言实战》前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用。 第1章 R语言介绍 获取帮助函数
管理工作空间
输入与输出
第2章 创建数据集 数据结构:标量、向量、矩阵、数组、数据框、列表 标量与向量: 标量只含一个元素,向量为多个相同模式的标量组成的一维数组,使用c()进行组合 矩阵: 相同模式元素的二维数组,通过matrix()创建 数组: 维度可以大于2,元素模式相同,通过array()创建 数据框: 不同的列可以包含不同模式的数据 选取数据框中的特定变量 patientdata$status 简化方式:attach(), detach()或单独使用with() 示例: #简化前 summary(mtcars$mpg) plot(mtcars$mpg, mtcars$disp) plot(mtcars$mpg, mtcars$wt) #简化后 attach(mtcars) summary(mpg) plot(mpg, disp) plot(mpg, wt) detach(mtcars)
局限性:存在名称相同的对象时,有可能出现masked的警告,原始对象为优先 with()函数示例 #with()用法 with(mtcars, { summary(mpg) plot(mpg, disp) plot(mpg, wt) })
#nokeepstats只在with()内可以使用,keepstats可以在全局使用 with(mtcars, { nokeepstats <- summary(mpg) keepstats <<- summary(mpg) })
#指定标识符,用于标记各类打印输出和图形中实例名称 patientdata <- data.frame(patientID, age, diabetes, status, row.names = patientID)
分为类别变量和有序类别变量。 #有序类别变量,默认排序规则为字母顺序 status <- c(“Poor”, “Improved”, “Excellent”, “Poor”) status <- factor(status, ordered = TRUE) #编码为1 = Excellent, 2 = Improved, 3 = Poor
#创建列表 mylist <- list(object1, object2, …) mylist <- list(name1 = object1, name2 = object2, …) #提取元素 mylist[[1]] mylist[[“name1”]] mylist$name1
#带分隔符的文件 mydataframe <- read.table(file, header = FALSE, sep = “”, row.names = “name”) #默认stringAsFactors = TRUE一般需要修改 #colClasses为每一列数据指定class #更多设置信息参考帮助文档
#Excel数据 library(RODBC) channel <- odbcConnectExcel(“myfile.xls”) mydataframe <- sqlFetch(channel, “mysheet”) odbcClose(channel) library(xlsx) workbook <- “c:/myworkbook.xlsx” mydataframe <- read.xlsx(workbook, 1) #XML数据 library(XML) #网页抓取数据 ?readLines ?grep ?gsub library(XML) library(RCurl) #SPSS数据 library(foreign) ?read.spss library(Hmisc) ?spss.get #SAS数据 #旧版SAS使用与SPSS数据类似方法 #新版SAS可以先将数据存为.csv文件再导入 #Stata数据 library(foreign) ?read.dta #netCDF数据 library(ncdf) nc <- nc_open(“mynetCDFfile”) myarray <- get.var.ncdf(nc, myvar) #HDF5数据 library(hdf5) #访问数据库管理系统 #ODBC接口 library(RODBC) myconn <- odbcConnect(“mydsn”, uid = “Rob”, pwd = “password”) crimedat <- sqlFetch(myconn, Crime) pundit <- sqlQuery(myconn, “select * from Punishment”) close(myconn) #DBI相关包 library(DBI) library(RJDBC) library(RMy) library(ROracle) library(RPostgreSQL) library(RSQLite)
ODBC包主要函数
处理数据对象的实用函数
第3章 图形初阶 因为总体来讲,作为最终展示的作图,往往使用ggplot2包更好一点。然而在数据分析的过程中,需要首先对数据分布进行一定了解,这就需要一些比较基础的图形。由于本章只是对于图形的创建、保存、颜色、标注等进行解说,因此并不是我们关心的重点,所以我们仅仅将一些通用的方法以索引的方式罗列出来,作为参考。而作为最终展示的图形,在后面的ggplot2包的学习中,将会进行更加详细的阐述。 #图形的输出与保存 pdf(“mygraph.pdf”) plot(x, y) title(“my graph”) dev.off() #图形参数修改 #通过par()函数修改参数,这种方式设定的参数值,在会话结束前一直有效 #生成一个可以修改的当前图形参数列表 opar <- par(no.readonly = TRUE) #设置参数 par(lty = 2, pch = 17) #作图 plot(dose, drugA, type = ‘b’) #还原原始设置 par(opar)
符号和线条
颜色
#用于创建连续型颜色向量的函数 rainbow() heat.colors() terrain.colors() topo.colors() #多阶灰度色 gray() #以上函数使用help()查询具体使用参数
添加标题,可以在plot()函数里声明,也可以用title()函数追加:main标题、sub副标题、xlab, ylab坐标轴标签 设置坐标轴范围xlim, ylim 添加坐标轴函数axis(side, at = x) 添加参考线函数abline(h = yvalues, v = xvalues) 添加图例函数legend(location, title, legend, …) 添加文本标注函数text()向绘图区域内部添加,mtext()向图形边界之一添加 数学标注:详见help(plotmath)
图形组合 #方法1 par(mfrow = c(nrows, ncols)) #接下来的几幅图排列在nrows, ncols矩阵中 #方法2 layout(matrix(c(1, 1, 2, 3)), 2, 2, byrow = TRUE) #指在2*2矩阵中,第一幅图占据(1,1)和(1,2)第二幅(2,1)第三幅(2,2) layout(matrix(c(1, 1, 2, 3)), 2, 2, byrow = TRUE, widths = c(3, 1), heights = c(1, 2)) #各列宽度及各行高度组成的向量,即矩阵的四个部分,宽之比3:1高之比1:2
通过par()函数里的fig参数设置多个图形的相对位置,可以多试几次,直到找到最合适的参数。 opar <- par(no.readonly = TRUE) #设置散点图 par(fig = c(0, 0.8, 0, 0.8)) plot(mtcars$wt, mtcars$mpg, xlab = "Miles Per Gallon", ylab = "Car Weight") #在上方和右侧添加箱线图 par(fig = c(0, 0.8, 0.55, 1), new = TRUE) boxplot(mtcars$wt, horizontal = TRUE, axes = FALSE) par(fig = c(0.65, 1, 0, 0.8), new = TRUE) boxplot(mtcars$mpg, axes = FALSE) mtext("Enhanced Scatterplot", side = 3, outer = TRUE, line = -3) par(opar)
|
请发表评论