郑连虎,在数学学院取得理学学位的文科生,中国人民大学硕博连读生在读,山东大学管理学学士、理学学士
个人公众号:阿虎定量笔记
全文注释
# 示例参考帮助文档
# 我用Rstudio重现了所有示例
# 初识R语言,请戳我的原创推文“ R语言入门 ”与“ 一起来学R ”
# 使用Stata绘图,请戳我的原创推文“ Stata绘图:37条外部命令 ”
# 本文以字母顺序 排序 程序包
# 更多用于R语言绘图的程序包,欢迎在留言区补充
cartogram
扭曲的地图,以传达统计信息
开发
Sebastian Jeworutzki,
sebastian.jeworutzki@ruhr-uni-bochum.de;
Timothee Giraud;Nicolas Lambert;
Roger Bivand;Edzer Pebesma
示例
# 安装并加载包
install.packages("maptools")
library(maptools)
# 绘制非洲边界
data(wrld_simpl)
afr=wrld_simpl[wrld_simpl$REGION==2,]
plot(afr)
# 安装并加载包
install.packages("cartogram")
library(cartogram)
# 使用2005年的非洲人口数据
afr_cartogram <- cartogram(afr, "POP2005", itermax=5)
# 反映非洲人口特征
plot(afr_cartogram)
circlize
圈圈布局、弦图
开发
Zuguang Gu,
z.gu@dkfz.de
示例
# 安装并加载包
install.packages("circlize")
library(circlize)
# 生成数据
name=c(3,10,10,3,6,7,8,3,6,1,2,2,6,10,2,3,3,10,4,5,9,10)
feature=paste("feature ", c(1,1,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5) , sep="")
dat <- data.frame(name,feature)
dat <- with(dat, table(name, feature))
# 绘制弦图
chordDiagram(as.data.frame(dat), transparency = 0.5)
CMplot
圆形曼哈顿图
开发
LiLin-Yin
ylilin@163.com
示例
# 安装并加载包
install.packages("CMplot")
library("CMplot")
# 绘图
CMplot(gwasResults, plot.type="c", r=1.6, cir.legend=TRUE, outward=TRUE, cir.legend.col="black", cir.chr.h=.1 ,chr.den.col="orange", file="jpg", memo="", dpi=300, chr.labels=seq(1,22))
corrgram
相关系数矩阵
开发
Kevin Wright,
kw.stat@gmail.com
示例
# 安装并加载包
install.packages("iterators")
install.packages("corrgram")
library(iterators)
library(corrgram)
# 绘制相关系数矩阵图
corrgram(mtcars, order=TRUE, lower.panel=panel.shade, upper.panel=panel.pie,text.panel=panel.txt, main="Correlogram of mtcar intercorrelations")
corrplot
相关系数矩阵
开发
Taiyun Wei,
weitaiyun@gmail.com;
Viliam Simko,
viliam.simko@gmail.com
示例
# 安装并加载包
install.packages("corrplot")
library(corrplot)
# 计算相关系数
mycor <- cor(mtcars)
# 绘制相关系数矩阵图
corrplot.mixed(mycor, upper = "ellipse")
dygraphs
时间序列数据的可视化
开发
Dan Vanderkam;
JJ Allaire,
jj@rstudio.com;
Jonathan Owen;
Daniel Gromer;
Petr Shevtsov;
Benoit Thieurmel
示例
# 安装并加载包
install.packages("dygraphs")
library(dygraphs)
# 时间序列
data=data.frame( time=c( seq(0,20,0.5), 40), value=runif(42))
str(data)
dygraph(data)
ellipse
椭圆
开发
Duncan Murdoch,
murdoch@stats.uwo.ca;
E. D. Chow
示例
# 安装并加载包
install.packages("ellipse")
library(ellipse)
# 绘制相关系数矩阵图
data(mtcars)
fit <- lm(mpg ~ ., mtcars)
plotcorr(summary(fit, correlation = TRUE)$correlation)
fmsb
雷达图
开发
Minato Nakazawa
minato-nakazawa@umin.net
示例
# 安装并加载包
install.packages("fmsb")
library(fmsb)
# 生成数据
data=as.data.frame(matrix( sample( 2:20 , 10 , replace=T) , ncol=10))
colnames(data)=c("math" , "english" , "biology" , "music" , "R-coding", "data-viz" , "french" , "physic", "statistic", "sport" )
data=rbind(rep(20,10) , rep(0,10) , data)
# 雷达图参数设置
radarchart(data,axistype=1,pcol=rgb(0.2,0.5,0.5,0.9),pfcol=rgb(0.2,0.5,0.5,0.5), plwd=4, cglcol="grey", cglty=1, axislabcol="grey", caxislabels=seq(0,20,5), cglwd=0.8,vlcex=0.8)
forecast
时间序列分析
开发
Rob J Hyndman,
Rob.Hyndman@monash.edu
示例
# 安装并加载包
install.packages("forecast")
library(forecast)
# 使用英国每月死于肺病的人数数据
fit<- auto.arima(mdeaths)
# 设置置信区间
forecast(fit, level=c(80, 95, 99), h=3)
# 绘制时间序列趋势图
plot(forecast(fit), shadecols="oldstyle")
GGally
散点图矩阵
开发
Barret Schloerke,
schloerke@gmail.com;
Jason Crowley,
crowley.jason.s@gmail.com;
Di Cook,
dicook@monash.edu;
Heike Hofmann,
hofmann@iastate.edu;
Hadley Wickham,
h.wickham@gmail.com;
Francois Briatte,
f.briatte@gmail.com;
Moritz Marbach,
mmarbach@mail.uni-mannheim.de;
Edwin Thoen,
edwinthoen@gmail.com;
Amos Elberg,
amos.elberg@gmail.com;
Joseph Larmarange,
joseph@larmarange.net
示例
# 安装并加载包
install.packages("GGally")
library(GGally)
# 绘制相关系数矩阵图
ggpairs(mtcars, columns = c("mpg", "cyl", "disp"),upper = list(continuous = wrap("cor", size = 10)), lower =list(continuous = "smooth"))
ggplot2
丰富的数据可视化
开发
Hadley Wickham,
hadley@rstudio.com;
Winston Chang,
winston@rstudio.com
示例
# 安装并加载包
install.packages("ggplot2")
library(ggplot2)
# 生成数据
variety=rep(LETTERS[1:7], each=40)
treatment=rep(c("high","low"),each=20)
note=seq(1:280)+sample(1:150, 280, replace=T)
data=data.frame(variety, treatment , note)
# 绘制箱线图
ggplot(data, aes(x=variety, y=note, fill=treatment)) +
geom_boxplot()
# 生成数据
set.seed(345)
Sector <- rep(c("S01","S02","S03","S04","S05","S06","S07"),times=7)
Year <- as.numeric(rep(c("1950","1960","1970","1980","1990","2000","2010"),each=7))
Value <- runif(49, 10, 100)
data <- data.frame(Sector,Year,Value)
# 绘制区域图
ggplot(data, aes(x=Year, y=Value, fill=Sector)) +
geom_area()
# 安装并加载包
install.packages("plotly")
install.packages("gapminder")
library(plotly)
library(gapminder)
# 绘制气泡图
p <- gapminder %>%
filter(year==1977) %>%
ggplot( aes(gdpPercap, lifeExp, size = pop, color=continent)) +
geom_point() +
scale_x_log10() +
theme_bw()
ggplotly(p)
ggridges
叠嶂图(山峦图)
开发
Claus O. Wilke,
wilke@austin.utexas.edu
示例
# 安装并加载包
install.packages("ggridges")
install.packages("ggplot2")
library(ggridges)
library(ggplot2)
# 使用钻石数据
head(diamonds)
# 绘制叠嶂图
ggplot(diamonds, aes(x = price, y = cut, fill = cut)) +
geom_density_ridges() +
theme_ridges() +
theme(legend.position = "none")
hexbin
二维直方图
开发
Dan Carr,
dcarr@voxel.galaxy.gmu.edu;
Nicholas Lewin-Koh;
Martin Maechler,
maechler@stat.math.ethz.ch;
Deepayan Sarkar,
deepayan.sarkar@r-project.org
示例
# 安装并加载包
install.packages("hexbin")
install.packages("RColorBrewer")
library(hexbin)
library(RColorBrewer)
# 生成数据
x <- rnorm(mean=1.5, 5000)
y <- rnorm(mean=1.6, 5000)
# 绘制二维散点图
bin<-hexbin(x, y, xbins=40)
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
plot(bin, main="", colramp=my_colors, legend=F)
igraph
网络图
示例
# 安装并加载包
install.packages("igraph")
library(igraph)
# 生成数据
data=matrix(sample(0:1, 400, replace=TRUE, prob=c(0.8,0.2)), nrow=20)
network=graph_from_adjacency_matrix(data , mode='undirected', diag=F )
# 输出网络
par(mfrow=c(2,2), mar=c(1,1,1,1))
plot(network, layout=layout.sphere, main="sphere")
lattice
点图、核密度图、直方图、柱状图、箱线图、散点图、带状图、平行箱线图、三维图、散点图矩阵等
开发
Deepayan Sarkar,
Deepayan.Sarkar@R-project.org
示例
# 安装并加载包
install.packages("lattice")
library(lattice)
# 查看火山数据
head(volcano)
# 绘制火山的三维等高线图
contourplot(volcano)
# 绘制火山的三维水平图
levelplot(volcano)
# 绘制火山的三维线框图
wireframe(volcano)
# 查看汽车数据
head(mtcars)
# 绘制箱线图
bwplot(mtcars$mpg)
# 绘制平行坐标图
parallelplot(mtcars[1:3])
# 绘制散点图矩阵
splom(mtcars[c(1,3,4,5)])
# 绘制带状图
stripplot(mtcars$mpg~factor(mtcars$cyl))
leaflet
交互式地图
开发
Joe Cheng,
joe@rstudio.com;
Bhaskar Karambelkar;
Yihui Xie;
Hadley Wickham;
Kenton Russell;
Kent Johnson;
Barret Schloerke;
Vladimir Agafonkin;
Brandon Copeland;
Joerg Dietrich;
Benjamin Becquet;
Norkart AS;
L. Voogdt;
Daniel Montague;
Kartena AB;
Robert Kajic;
Michael Bostock
示例
# 安装并加载包
install.packages("leaflet")
library(leaflet)
# 交互式地图
m=leaflet()
m=addTiles(m)
m
likert
李克特量表数据的可视化
开发
Jason Bryer,
jason@bryer.org;
Kimberly Speerschneider
kimkspeer@gmail.com
示例
# 安装并加载包
install.packages("likert")
library(likert)
# 使用PISA量表数据
data(pisaitems)
items28 <- pisaitems[, substr(names(pisaitems), 1, 5) == "ST24Q"]
# 绘制条形图
l28 <- likert(items28)
summary(l28)
plot(l28)
maps
地图
开发
Richard A. Becker;
Allan R. Wilks;
Ray Brownrigg
示例
# 安装并加载包
install.packages("maps")
install.packages("geosphere")
library(maps)
library(geosphere)
# 绘制世界地图
map("world")
maptools
地图
开发
Roger Bivand,
Roger.Bivand@nhh.no;
Nicholas Lewin-Koh;
Edzer Pebesma;
Eric Archer;
Adrian Baddeley;
Nick Bearman;
Hans-Jörg Bibiko;
Steven Brey;
Jonathan Callahan;
German Carrillo;
Stéphane Dray;
David Forrest;
Michael Friendly;
Patrick Giraudoux;
Duncan Golicher;
Virgilio Gómez Rubio;
Patrick Hausmann;
Karl Ove Hufthammer;
Thomas Jagger;
Kent Johnson;
Sebastian Luque;
Don MacQueen;
Andrew Niccolai;
Edzer Pebesma;
Oscar Perpiñán Lamigueiro;
Tom Short;
Greg Snow;
Ben Stabler;
Murray Stokely;
Rolf Turner
示例
# 安装并加载包
install.packages("maptools")
library(maptools)
# 绘制非洲边界
data(wrld_simpl)
afr=wrld_simpl[wrld_simpl$REGION==2,]
plot(afr)
performanceAnalytics
绩效指标计算与可视化
开发
Brian G. Peterson,
brian@braverock.com;
Peter Carl
示例
# 安装并加载包
install.packages("PerformanceAnalytics")
library(PerformanceAnalytics)
# 列出待计算变量
mydata <-mtcars[c('mpg','cyl','disp','hp','drat')]
# 绘制相关系数矩阵图
chart.Correlation(mydata, histogram=TRUE, pch=19)
plotly
交互式可视化
开发
Carson Siever,
cpsievert1@gmail.com;
Chris Parmer,
chris@plot.ly;
Toby Hocking,
tdhock5@gmail.com;
Scott Chamberlain,
myrmecocystus@gmail.com;
Karthik Ram,
karthik.ram@gmail.com;
Marianne Corvellec,
marianne@plot.ly;
Pedro Despouy,
pedro@plot.ly
示例
# 安装并加载包
install.packages("plotly")
library(plotly)
# 查看火山数据
head(volcano)
# 绘制火山的三维交互图
p=plot_ly(z = volcano, type = "surface")
p
qcc
统计质量控制
开发
Luca Scrucca,
luca.scrucca@unipg.it;
Greg Snow,
greg.snow@ihc.com;
Peter Bloomfield,
Peter_Bloomfield@ncsu.edu
示例
# 安装并加载包
install.packages("qcc")
library(qcc)
# 均值为10的序列,加上白噪声
x <- rep(10, 100) + rnorm(100)
# 测试序列,均值为11
new.x <- rep(11, 15) + rnorm(15)
# 标记出新的点
qcc(x, newdata=new.x, type="xbar.one")
qqman
曼哈顿图
开发
Stephen Turner
示例
# 安装并加载包
install.packages("qqman")
library(qqman)
# 使用gwasResults数据绘制曼哈顿图
manhattan(gwasResults, chr="CHR", bp="BP", snp="SNP", p="P" )
REmap
地图
开发
Dawei Lang,
dawei.lang@supstat.com
示例
# 安装并加载包
install.packages("devtools")
install_github("lchiffon/REmap")
library(devtools)
library(REmap)
# 标注起始点
origin<-c("济南","西安","成都")
destination<-c("西安","成都","济南")
# 制作迁徙地图
dat = data.frame(origin,destination)
out = remap(dat,title = "after-graduation trip ",subtitle= "zg434")
plot(out)
scatterplot3d
三维散点图
开发
Uwe Ligges,
ligges@statistik.tu-dortmund.de;
Martin Maechler;
Sarah Schnackenberg
示例
# 安装并加载包
install.packages("scatterplot3d")
library(scatterplot3d)
# 生成数据
x1=round(rnorm(100,mean=80,sd=1))
x2=round(rnorm(100,mean=80,sd=5))
x3=round(rnorm(100,mean=80,sd=10))
x=data.frame(x1,x2,x3)
# 绘制三维散点图
scatterplot3d(x[1:3])
TeachingDemos
脸谱图
开发
Greg Snow,
538280@gmail.com
示例
# 安装并加载包
install.packages("TeachingDemos")
library(TeachingDemos)
# 生成数据
x1=round(rnorm(100,mean=80,sd=1))
x2=round(rnorm(100,mean=80,sd=5))
x3=round(rnorm(100,mean=80,sd=10))
x=data.frame(x1,x2,x3)
# 绘制脸谱图
faces(x)
treemap
树图
开发
Martijn Tennekes,
mtennekes@gmail.com
示例
# 安装并加载包
install.packages("treemap")
library(treemap)
# 生成数据
group=c("group-1","group-2","group-3")
value=c(13,5,22)
data=data.frame(group,value)
# 绘制树图
treemap(data, index="group", vSize="value", type="index")
vioplot
小提琴图
开发
Daniel Adler,
dadler@uni-goettingen.de;
Romain Francois,
francoisromain@free.fr
示例
# 安装并加载包
install.packages("vioplot")
library(vioplot)
# 生成数据
treatment=c(rep("A", 40) , rep("B", 40) , rep("C", 40) )
value=c( sample(2:5, 40 , replace=T) , sample(c(1:5,12:17), 40 , replace=T), sample(1:7, 40 , replace=T) )
data=data.frame(treatment,value)
# 绘制小提琴图
with(data , vioplot( value[treatment=="A"] , value[treatment=="B"], value[treatment=="C"], col=rgb(0.1,0.4,0.7,0.7) , names=c("A","B","C") ))
大家都在看
公众号后台回复关键字即可学习
回复 爬虫 爬虫三大案例实战
Python
1小时破冰入门
回复 数据挖掘 R语言入门及数据挖掘
回复 人工智能 三个月入门人工智能
回复 数据分析师 数据分析师成长之路
回复 机器学习 机器学习的商业应用
回复 数据科学 数据科学实战
常用算法
常用数据挖掘算法
本文由R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Web Designer's Idea Book
Patrick Mcneil / How / 2008-10-6 / USD 25.00
The Web Designer's Idea Book includes more than 700 websites arranged thematically, so you can find inspiration for layout, color, style and more. Author Patrick McNeil has cataloged more than 5,000 s......一起来看看 《The Web Designer's Idea Book》 这本书的介绍吧!