R语言真是博大精深 方法一 Acf(gold[,2], type = "correlation",lag.max = 100) Acf(gold[,2], type = "partial") 方法二 library(ggfortify) autoplot(acf(gold[,2], plot = FALSE)) 方法三 bacf <- acf(gold[, 2], plot = FALSE) bacfdf <- with(bacf, data.frame…
数据来源: R语言自带 Nile 数据集(尼罗河流量) 分析工具:R-3.5.0 & Rstudio-1.1.453 #清理环境,加载包 rm(list=ls()) library(forecast) library(tseries) #趋势查看 plot(Nile) #平稳性检验 #自相关图 acf(Nile) #偏相关图 pacf(Nile) #也可以直接用tsdisplay查看 tsdisplay(Nile) #单位根检验 adf.test(Nile) 从自相关图上看,自相关系数没有快速衰…
ggplot2绘制 arima诊断图 library(ggfortify) autoplot(acf(gold[,2], plot = FALSE)) ggtsdiag(auto.arima(gold[,2])) 将数据改为时间格式 gold <- as.xts(gold[, 2], order.by = gold[, 1]) 设置时间格式 绘制时间趋势图 gdp <- ts((0.001 * (gdp[, 2])), frequency = 4, start = c(1992, 1)) pl…
时间序列分析之ARIMA模型预测__R篇 之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观.现在记录一下如何用R分析ARIMA模型. 1. 处理数据 1.1. 导入forecast包 forecast包是一个封装的ARIMA统计软件包,在默认情况下,R没有预装forecast包,因此需要先安装该包 > install.packages("forecast') 导入依赖包zoo,再导入forecast包 > library("zoo&…
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/74051739 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/12568379.html 通用的参数: x:横坐标 y:纵坐标 ... :其他可选参数: type(绘图的类型) 'p' : points, 点 'l' : lines, 线,且绘制的线经过(x,y)点 'b' : both, 同时绘制点和线,其中线不经过(x,y)点 'c' : 仅绘制线,其中线不经过(x,…
R语言通过支持Cairo矢量图形处理的类库,可以创建高质量的矢量图形(PDF,PostScript,SVG) 和 位图(PNG,JPEG, TIFF),同时支持在后台程序中高质量渲染.在ggplot2中,图片输出经过Cairo包处理后,输出个效果更好,可以输出成PDF格式,PDF格式体积小,同时可以储存为其他任何格式,随后再将PDF储存为eps格式并在Photoshop中打开做最终的调整,例如调整比例.色彩空间和dpi(一般杂志和出版社要求dpi=300以上)等.额外需要注意的是ggplot2中…
在R语言中指定画图边框时,通常使用两种单位, lines 和 inches 当然,这两个单位之间是可以相互转换的,那么 1 inch = ? line 答案是1 inches = 5 lines 下面给出具体的分析过程: par 函数中有两个参数,返回的是margin的宽度,只不过单位不同: mar : 返回边框的宽度, 返回值的单位为 lines mai: 返回边框的宽度, 返回值的单位为 inches 看下二者的返回值 > par("mar") [1] 5.1 4.1 4.1…
系统:centos 6.4 64bit 环境安装参考:http://hi.baidu.com/solohac/item/4a18e78f1bef9b5825ebd99c 在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片. 但是如果你是通过shell远程连接到系统上,可能会碰到如下错误: 1 2 3 4 5 > png("aa.png") 错误于.External2(C_X11, paste("png::&qu…
使用ggplot2包绘制ROC曲线 rocplot<- function(pred, truth, ...){ predob<- prediction(pred, truth) #打印AUc perf.auc<- performance(predob, measure = 'auc', x.measure = 'cutoff') # perf<- performance(predob, 'tpr','fpr') df<- data.frame(x = attributes(p…
使用ggplot2在地图上绘制热力图 ######*****绘制热力图代码*****####### interval <- seq(0, 150000, 25000)[-2] #设置价格区间 newpri <- cut(data1$price, interval, labels = F) #设置价格为因子类型 newpri <- factor(newpri, levels = 1:5, labels = c("25000", "50000", &q…
使用ggplot2在地图上绘制散点图 ######*****绘制散点图代码*****####### options(baidumap.key = '**************') #设置密钥 beijing <- getBaiduMap('北京市', width = 600, height = 600, zoom = 11, scale = 2, messaging = F, color = "bw") #获取北京地图 ggmap(beijing) + geom_jitter(…
在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin, 这些边距有什么不同呢,通过box函数可以直观的看到 box 默认在当前图形绘制边框,第一个参数which = "plot", 所以在当前图形上绘制边框 which 的值除了plot 之外,还可以选择 figure, inner, outer 接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下: attach(mtcars) plot(…
par().layout().split.screen()函数 1. par()函数的参数详解 函数par()可以用来设置或者获取图形参数,par()本身(括号中不写任何参数)返回当前的图形参数设置(一个list):若要设置图形参数,则可用par(tag = value)的形式,其中tag的详细说明参见下面的列,value就是参数值,例如: par(mar = c(4, 4, 1, 0.5), bg = "yellow")   # 设置边距参数和背景色 par(pin=c(2,3)) …
在R语言中, 绘图边框一共有3个区域: device region : figure region : plot region   : 在描述不同区域大小的时候,有对应的不同参数: din : 返回device region 的宽度和高度, 单位为 inches fin : 返回figure region 的宽度和高度,单位为 inches pin : 返回plot region 的宽度和高度, 单位为inches 代码示例: > pdf("a.pdf", height = 10…
使用ggplot2包绘制直方图 ######*****绘制直方图代码*****####### data1 <- data0[(data0[, 2] <= 500) & (data0[, 4] <= 150000), ] #提取面积500以下且单价十五万以下的观测 ggplot(data1, aes(x = price)) + #选取单价作为横轴 geom_histogram(bins = 30, fill = "grey60") + #画直方图 labs(x…
一般使用R从数据库导出来的时间数据一般都不是我们能看的懂的(具体是什么格式的我也忘记了),需要做如下转化 as.Date(time,origin = '1970-01-01') 最近从网上爬下来的时间数据是UTC格式的,需要作如下转化 1 my_date <- as.POSIXct(1.49550e+12/1000,origin = '1970-01-01') 2 as.Date(my_date,format = '%Y-%M-%D') > as.Date(my_date,format = '…
Sys.Date( ) returns today's date. date() returns the current date and time.# print today's datetoday <-Sys.Date()format(today, format="%B %d %Y")"June 20 2007" # convert date info in format 'mm/dd/yyyy'strDates <- c("01/05/1…
利用R自带数据集 通过data()函数可以查看R自带数据集. > data() 返回以下结果,每一条记录都是一个数据,键入相应的数据名称可以查看具体信息. Data sets in package ¡®datasets¡¯: AirPassengers Monthly Airline Passenger Numbers - BJsales Sales Data with Leading Indicator BJsales.lead (BJsales) Sales Data with Leadin…
setwd("E:/08_cooperation/07_X-lab/06-Crosstalk/Aadapter_primer")# 读取lane01.txt,并对其按列进行相加处理,然后对列进行进行命名d1=read.table("lane01.txt",header = FALSE,sep = ",")cyc001=d1$V3+d1$V4+d1$V5+d1$V6d1=cbind(d1,cyc001)names(d1)=c("cyc00…
当我们在绘图时,经常会遇到这样的问题,添加的文字标记超出了坐标系的问题,导致文字显示不全 比如下面这个例子: plot(c(1,5),c(1,5)) text(5,5.1,"ABCDEF") 生成的图片如下: 我们想要给右上角的点加个文字标记,但是文字内容太长,超过了坐标系的范围,没显示全 想要解决类似的问题,当然是加大坐标系的范围,但是加到多少合适呢, 最笨的办法就是每次加一点点,然后看效果 这样换个数据,又要调试好几次,有没有完美的解决方案呢? 答案肯定是有的! 通过strwidt…
使用wordcloud2绘制词云图 library(wordcloud2) findwords<-function(tf){ txt<-scan(tf,"") wl<-list() for(i in 1:length(txt)){ wrd<-txt[i] wl[[wrd]]<-c(wl[[wrd]],i) } return(wl) } words<-findwords("testconcorda.txt") wordfreq<…
使用pROC包绘制ROC曲线 #####***绘制ROC曲线***##### library("pROC") N <- dim(data2)[1] #数据长度 set.seed(1234) #设置随机种子 ind <- sample(2, N, replace=TRUE, prob = c(0.8,0.2)) data_train <- data2[ind == 1,] #生成训练集 data_test <- data2[ind == 2,] #生成测试集 re…
使用ggplot2绘制箱线图 ######*****绘制箱线图代码*****####### data1$学区房 <- factor(data1$school, levels = 0:1, labels = c("否", "是")) #设置学区房数据为因子类型 data1$CATE <- factor(data1$CATE, levels = c('xicheng', 'dongcheng', 'haidian', 'chaoyang', 'fengtai…
使用fmsb包绘制雷达图 library("fmsb") radarfig <- rbind(rep(90, 4), rep(60, 4), c(86.17, 73.96, 82.70, 69.55)) #求平均值 radarfig <- as.data.frame(radarfig) #转化为data.frame colnames(radarfig) <- c("服务方式\n完备度", "在线服务\n成熟度", "办…
P-Value Central Lmit Theorem(CLT) mean(null>diff) hist(null) qqnorm(null) qqline(null) pops<-read.cssv("mice_pheno.csv") hed(pops) hf<- pops[popsSDiet=="hf"&popsSSex=="F",3] chow<-pops[popsSDiet=="chow&qu…
在使用堆积条形图时候,新增一个百分比堆积条形图,可以加深读者印象. 封装一个function函数后只需要在调用的数据上改一下pos=‘fill’的代码即可.比较方便. 案例: # 封装函数 fun1<-function(data,xlab,fillc,pos,xname,yname){ ggplot(data,aes(x=xlab,fill=fillc))+ geom_bar(position = pos)+ labs(x=xname,y=yname)+ coord_flip()+ theme_…
通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [] [] [] [] [] [] [] [] [] [] [] 用runif函数产生100个随机数(随机数是小数),代表课程1的成绩,100个数字,最小值50,最大值100. 该结果是均匀分布,用round函数对其取整. > x1 = round(runif(100,min=50,max=100));…
1. 首先就是plot(x,y,...) 参数: x: 所绘图形横坐标构成的对象 y: 所绘图形纵坐标构成的对象 type: 指定所绘图形类型 pch: 指定绘制点时使用的符号 cex: 指定符号的大小.cex是一个数值,表示绘图符号相对于默认大小的缩放倍数. 默认大小为1, 1.5表示放大为默认值的1.5倍, 0.5表示缩小为默认值的50%等. cex.axis: 坐标轴刻度文字的缩放倍数. 类似于cex cex.lab: 坐标轴标签(名称)的缩放倍数,类似于cex cex.main: 标题的…
准备 第一步就是安装R语言环境以及RStudio 图绘制准备 首先安装库文件,敲入指令,回车 install.packages('corrplot') 然后安装excel导入的插件,点击右上角import Dataset,选中From excel即可. 这些操作都很简单~~ 数据预处理 然后到了数据输入了,这么多数据,我们总不能一行输入吧?那得有多蠢 于是我们利用上了数据导入功能,当当当~~ 然而理想很丰满,现实却很蛋疼,导入的excel数据格式不是我们希望的矩阵格式ORZ! 哎,休息下喝杯茶,…
一幅图解决R语言绘制图例的各种问题 用R语言画图的小伙伴们有木有这样的感受,"命令写的很完整,运行没有报错,可图例藏哪去了?""图画的很美,怎么总是图例不协调?""啊~~啊,抓狂,图例盖住关键的点了.""怎么才能让图例指哪站哪?" "图例太长怎么办"-- 吐槽吐到累,不如多掌握几个图例(Legend)的软肋,更好地利用R语言绘图. legend(x, y = NULL, legend, fill = NUL…