R语言 qplot

qplot 的意思是quick plot,是属于ggplot2包的一部分,使用时需先加载包。

qplot参数:

qplot(x, y = NULL, ..., data, facets = NULL, margins = FALSE,
      geom = "auto", xlim = c(NA, NA), ylim = c(NA, NA), log = "",
      main = NULL, xlab = deparse(substitute(x)),
      ylab = deparse(substitute(y)), asp = NA, stat = NULL, position = NULL)

其中:x和y表示x轴与y轴
facets表示分页:row_var~col_var
geom表示几何对象:
##geom = "point" 散点图
##geom = "smooth" 拟合平滑曲线
##geom = "path" 连线(任意方向)
##geom = "line" 连线(从左到右)

##一维数据
##连续变量
##geom = "histogram" 直方图
##geom = "freqpoly" 频率多边图
##geom = "density" 密度曲线
##离散变量
##geom = "bar" 条形图
xlim和ylim表示x轴与y轴的取值范围
log表示一个字符型向量,说明哪一个坐标轴应该取对数。(log="x"表示对x轴取对数,log="xy"表示对xy轴取的对数)
main表示图形的主标题,可以是字符串(main="plot title")或者一个表达式。
xlab与ylab表示x轴和y轴的文字标签,参数与main一样
...

测试:

#install.packages("ggplot2")
library(ggplot2)
##使用数据集diamonds
head(diamonds)
set.seed(1410) ##让样本可重复
dsmall<- diamonds[sample(nrow(diamonds),100),] ##抽取100行

qplot(carat , price , data = diamonds) ##观察图形成指数增长
qplot(log(carat) , log(price) , data = diamonds) ##将数据对数化

qplot(carat , price , data = dsmall , colour =color) ##set颜色
qplot(carat , price , data = dsmall , shape =cut) ##设置形状

qplot(carat , price , data = diamonds) ##观察图形重叠度太高,因此设置透明度,使重叠度高的地方变深色
qplot(carat , price , data = diamonds , alpha = I(1/10)) ##其中1/10表示经过10次重叠之后颜色变得不透明
qplot(carat , price , data = diamonds , alpha = I(1/100))
qplot(carat , price , data = diamonds , alpha = I(1/200)) 

##qplot的集合对象
##二维数据
##geom = "point"    散点图
##geom = "smooth"   拟合平滑曲线
##geom = "path"     连线(任意方向)
##geom = "line"     连线(从左到右)

##一维数据
##连续变量
##geom = "histogram" 直方图
##geom = "freqpoly"  频率多边图
##geom = "density"   密度曲线
##离散变量
##geom = "bar"   条形图

##平滑曲线
##如果散点图中的数据太多,则不容易看出趋势,此时可以添加一条平滑曲线。
qplot(carat ,  price , data = dsmall , geom = c("point","smooth")) ##注意几何对象会根据c()的顺序进行堆叠
qplot(carat , price , data = diamonds , geom = c("smooth","point")) ##先画smooth会使其被覆盖

##曲线平滑程度,使用参数span控制,取值0(很不平滑)~ 1(很平滑)
qplot(carat ,  price , data = dsmall , geom = c("point","smooth") , span = 0.2)
qplot(carat ,  price , data = dsmall , geom = c("point","smooth") , span = 1)  

##平滑曲线的灰色区间为置信区间
qplot(carat ,  price , data = dsmall , geom = c("point","smooth") , se = FALSE)  ##如果不想绘制标准误差,可以使用se=FALSE

##平滑器的使用
##n小于等于1000时,默认使用method = "loess",使用的是局部回归的方法。
##n大于1000时,默认使用method = "gam",formula=y~s(x)来调用mgcv包拟合一个广义可加模型。

qplot(carat ,  price , data = dsmall , geom = c("point","smooth") , method ="lm" ) ##使用现行模拟,得到一条直线

##rlm与lm类型,当使用更稳健的拟合算法,使得结果对异常值不敏感。(需要加载MASS包)
library("MASS")
qplot(carat ,  price , data = dsmall , geom = c("point","smooth") , method ="rlm" )

##箱线图和扰动点图
##如果一个数据集中包含了一个分类变量和一个或多个变量,并且想知道连续变量会如何随着分类变量水平变化而变化。
qplot(color , price/carat , data = diamonds , geom = "jitter" , alpha = I(1/5) ) ##扰动点图
qplot(color , price/carat , data = diamonds , geom = "jitter" , alpha = I(1/50)) ##降低透明度,查看数据集中的区域

qplot(color , price/carat , data = diamonds , geom = "boxplot") ##箱线图(显示4分位点以及异常点)
qplot(color , price/carat , data = diamonds , geom = "boxplot" , colour = color)  ##修改框架颜色
qplot(color , price/carat , data = diamonds , geom = "boxplot" , fill = color)  ##修改填充

##直方图和密度曲线图
##直方图和密度曲线可以展示单个变量的分布,相对与箱线图而言,他们提供了更多的关于单个分布的信息,但他们不太容易在不同组之间进行比较
qplot(carat , data = diamonds , geom ="histogram" ) ##直方图
qplot(carat , data = diamonds , geom ="density") ##密度图
qplot(carat , data = diamonds , geom ="density" , color = color) ##密度图,设置颜色

##对于密度曲线而言,adjust参数控制了曲线的平滑程度(adjust取值越大,曲线越平滑)
qplot(carat , data = diamonds , geom ="density" , adjust = 1)
qplot(carat , data = diamonds , geom ="density" , adjust = 2)
qplot(carat , data = diamonds , geom ="density" , adjust = 3)

##对于直方图而言,binwith参数通过设定组距来调节平滑度
##在直方图中,应该尝试多种组距,当组距较大时,图形能反映数据的总体特征;组距较小时,则能显示出更多的细节
qplot(carat , data = diamonds , geom ="histogram" , binwidth =1 , xlim =c(0,3))
qplot(carat , data = diamonds , geom ="histogram" , binwidth =0.1 , xlim =c(0,3))
qplot(carat , data = diamonds , geom ="histogram" , binwidth =0.01 , xlim =c(0,3))

##条形图,在离散变量的情形下,条形图与直方图相类似
qplot(color , data = diamonds , geom = "bar")
qplot(color , data =diamonds , geom = "bar" , weight = carat) + scale_y_continuous("carat") ##按wight=carat进行加权,展示了每种颜色的总量

##线条图与路径图(一般用于时间序列)
str(economics)
qplot(date , unemploy/pop , data = economics ,geom = "line")
qplot(date , uempmed , data = economics , geom ="line")

##分组,图形的分组可以利用图形属性(颜色和形状)进行,可以将所有组绘制在同一张图中,也可以进行分面
##分面:可以通过形如row_var~col_var的表达式进行指定,如果只想要指定一行或一列可以使用.作为占位符,例如row_var~.会创建一个单列多行的图形矩阵
qplot(carat , data = diamonds , facets = color~. ,
      geom ="histogram" ,
      binwidth =0.1 ,
      xlim = c(0,3)
      )

qplot(carat , data = diamonds , facets = color~cut ,
      geom ="histogram" ,
      binwidth =0.1 ,
      xlim = c(0,3)
)

##..density..表示将密度而不是频数映射到y轴
qplot(carat , ..density.. , data = diamonds , facets = color~. ,
      geom ="histogram" ,
      binwidth =0.1 ,
      xlim = c(0,3)
)

  

时间: 2024-10-14 03:30:48

R语言 qplot的相关文章

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图形设备上产生一个新的图区,它可能包括坐标轴.标签.标题等. 低级绘图命令:在一个己经存在的图形上加上更多的图形元素,如额外的点.线和标签. 交互式图形命令:允许交互式地用鼠标在一个已经存在的图形.上添加图形信息或者提取图形信息. 使用R语言作图,主要按照以下步骤进行: ①取原始数据,准备好绘图需要的变量. ②

第二章 R语言基础

二.操作基础 %%取余 %/%整数除法 (1)eigen(...)求解方阵的特征值和特征向量 (2)solve(D,A)求解DX=A (3)data<-list(...)取里面的对象data[["列名称"]]:data[[下标]]:data$列名称 (4)unlist(列表对象)把列表对象转化为向量对象 (5)names(数据框)读取并编辑列的名称 (6)数据框data 取里面的对象data[["列名称"]]:data[[下标]]:data$列名称;data[

分享一个R语言的脚本【时间记录】

分享一个R语言的脚本 最近捣弄下一个R语言的脚本,不知道大家有没有看过<奇特的一生>这本书,我高中看了后,高三就山寨了柳比歇夫大神的方法,记录时间开销.个人感觉是挺有用的. 脚本就是把下面的这种excel文件导入并自动转化成饼形图,输出图片到本地. 代码在此: record <- read.table("Book1.csv", header=TRUE,sep=",", fill=TRUE); library(ggplot2); new_sum<

如何R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

数据分析和R语言的那点事儿_1

最近遇到一些程序员同学向我了解R语言,有些更是想转行做数据分析,故开始学习R或者Python之类的语言.在有其他编程语言的背景下,学习R的语法的确是一件十分简单的事.霸特,如果以为仅仅是这样的话那就图样图森破. 首先,数据分析是一个非常庞杂的职能,也许岗位抬头均为数据分析师的两人,做的事情却大不相同——比如使用hadoop做日志统计和使用Excel处理报表,这简直是两个领域,相互之间的职能了解,可能仅为对方工作的冰山一角. 其次,无论任何行业的数据分析,其日常工作主要为以下几块: 数据获取——数

使用 R 语言挖掘 QQ 群聊天记录

1.获取数据 从 QQ 消息管理器中导出消息记录,保存的文本类型选择 txt 文件.这里获取的是某群从 2016-04-18 到 2016-05-07 期间的聊天记录,记录样本如下所示. 消息记录(此消息记录为文本格式,不支持重新导入) ================================================================ 消息分组:我的QQ群 =======================================================

[译]用R语言做挖掘数据《二》

数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程[Vim编辑器](http://www.shiyanlou.com/courses/2)3. R:在命令行输入‘R’  进入R语言

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0