R绘图学习笔记

时间:2023-02-06 15:22:43

R软件作图学习,首先为了体验方便,我使用的R中MASS包中的自带数据集,首先加载该包

> library(MASS)

加载数据集,该数据集事保险数据统计

> data("Insurance")

> dim(Insurance)

查看数据的的行列元信息,发现是65行,5列

[1] 64  5

定义一个元信息的变量用于显示的需要

> var=c("District","Age")

> Insurance[20:25,var]

District   Age

20        2   >35

21        2   <25

22        2 25-29

23        2 30-35

24        2   >35

25        2   <25

统计数据的头字段,该字段的意义,Insurance数据集是记录了某保险公司1973年的第三季度的车险投保人数的相关信息,其中

District表示投保人家庭住址所在区域,取值1-4之间,

Group表示所投保汽车的发动机排量,分为小于1升,1-1.5升,1.5-2升,大于2升的四个等级

Age表示投保人的年龄:取值小于25,25-29,30-35,大于35岁

Holders表示投保人的数量

Claims表示索赔的投保人数

可以通过attributes() 函数来查看数据的属性列表,具体包括变量名称$name,数据集格式$class,以及行名称$row.names三个部分,由此组成了数据集中的一个整体的结构。

同时可以通过str()函数继续观察数据的内部结构,会发现数据的内部一些基本信息,同时还有summary函数进行查看。

> names(Insurance)

[1] "District" "Group"    "Age"      "Holders"  "Claims"

> head(Insurance, n=10)

District  Group   Age Holders Claims

1         1    <1l   <25     197     38

2         1    <1l 25-29     264     35

3         1    <1l 30-35     246     20

4         1    <1l   >35    1680    156

5         1 1-1.5l   <25     284     63

6         1 1-1.5l 25-29     536     84

7         1 1-1.5l 30-35     696     89

8         1 1-1.5l   >35    3582    400

9         1 1.5-2l   <25     133     19

10        1 1.5-2l 25-29     286     52

> class(Insurance$Age)

[1] "ordered" "factor"

> levels(Insurance$Age)

[1] "<25"   "25-29" "30-35" ">35"

画出Claims的直方图

> hist(Insurance$Claims,main = "Histogram of Freq of Insurance$Claims")

R绘图学习笔记

查看直方图的内部相信信息

> str(hist)

function (x, ...)

> str(hist(Insurance$Claims,breaks=20,labels = TRUE,col = "black",border = "white",main = "Histogram of Insurance$Claims whth 20 hars"))

List of 6

$ breaks  : num [1:21] 0 20 40 60 80 100 120 140 160 180 ...

$ counts  : int [1:20] 30 13 5 5 3 2 0 2 0 1 ...

$ density : num [1:20] 0.02344 0.01016 0.00391 0.00391 0.00234 ...

$ mids    : num [1:20] 10 30 50 70 90 110 130 150 170 190 ...

$ xname   : chr "Insurance$Claims"

$ equidist: logi TRUE

- attr(*, "class")= chr "histogram"

> str(hist(Insurance$Claims,breaks=20,labels = TRUE,col = "yellow",border = "white",main = "Histogram of Insurance$Claims whth 20 hars"))

List of 6

$ breaks  : num [1:21] 0 20 40 60 80 100 120 140 160 180 ...

$ counts  : int [1:20] 30 13 5 5 3 2 0 2 0 1 ...

$ density : num [1:20] 0.02344 0.01016 0.00391 0.00391 0.00234 ...

$ mids    : num [1:20] 10 30 50 70 90 110 130 150 170 190 ...

$ xname   : chr "Insurance$Claims"

$ equidist: logi TRUE

- attr(*, "class")= chr "histogram"

添加密度曲线图和直方图交汇

> hist(Insurance$Claims,freq=FALSE,density = 20,

+ main= "Histrogrm of Densitry of Insurance$Clamis")

> lines(density(Insurance$Claims))

> hist(Insurance$Claims,freq=FALSE,density = 20,

+ main= "Histrogrm of Densitry of Insurance$Clamis")

> lines(density(Insurance$Claims))

R绘图学习笔记

由于原始数据没有在Age变量的各个水平下Claims的分布情况,因此我们需要计算在四个age阶段Claims的值,程序如下,其中用到了names.arg是命名的形式表示,标注出条形图中各矩形所对应的离散数值水平

> Claims_Age = with(Insurance,c(

+ sum(Claims[which(Age=="<25")]),

+ sum(Claims[which(Age=="25-29")]),

+ sum(Claims[which(Age=="30-35")]),

+ sum(Claims[which(Age==">35")])))

> Claims_Age

[1]  229  404  453 2065

> barplot(Claims_Age,names.arg = c("<25","25-29","30-35",">35"),density = rep(20,4),main = "Distribution of age by Claims", xlab = "Age", ylab = "Claims")

> barplot(Claims_Age,names.arg = c("<25","25-29","30-35",">35"),density = rep(30,4),main = "Distribution of age by Claims", xlab = "Age", ylab = "Claims")

同理统计Holders与Age的对应关系

> Holders_Age = with(Insurance,c(sum(Holders[which(Age=="<25")]),

+ sum(Holders[which(Age=="25-29")]),

+ sum(Holders[which(Age=="30-35")]),

+ sum(Holders[which(Age==">35")])))

> data_bar=rbind(Claims_Age,Holders_Age)

> data_bar

[,1] [,2] [,3]  [,4]

Claims_Age   229  404  453  2065

Holders_Age 1138 2336 3007 16878

绘制连体直方图将Holders—Age,Claims-Age进行绑定

> barplot(data_bar,names.arg = c("<25","25-29","30-35",">35"),

+ beside=TRUE,

+ main="Age Distrbution by Claims and Holders",

+ xlab="Age",ylab="Claims&Holders",col=c("red","green"))

R绘图学习笔记

绘制内嵌直方图将Holders—Age,Claims-Age进行绑定

> legend(x="topleft",rownames(data_bar),fill = c("red","green"))

> barplot(data_bar,names.arg = c("<25","25-29","30-35",">35"),

+ beside=FALSE,

+ main="Age Distrbution by Claims and Holders",

+ xlab="Age",ylab="Claims&Holders",col=c("red","green"))

> legend(x="topleft",rownames(data_bar),fill = c("red","green"))

R绘图学习笔记

绘制点阵图

> dotchart(data_bar,xlab = "Claims&Holders",pch = 1:2,

+ col=c("red","green"),

+ main="Age Distribution by Claims and Holders")

R绘图学习笔记

绘制饼图

> pie(Claims_Age,labels = c("<25","25-29","30-35",">35"),

+ main="Pie Chart of Age by Claims",

+ col=c("green","red","yellow","blue"))

R绘图学习笔记

绘制带百分比的饼图

> percent=round(Claims_Age/sum(Claims_Age)*100)

> label=paste(paste(c("<25","25-29","30-35",">35"),":"),percent,"%",sep = "")

> pie(Claims_Age,labels = label,

+ main="pie chart of Age by Claims",col=c("blue","red","yellow","green"))

R绘图学习笔记

绘制3D饼图

> library(plotrix)

> pie3D(Claims_Age,labels = c("<25","25-29","30-35",">35"),explode = 0.05,

+ main="3D Pie Chart of Age by Claims",labelcex=0.8,

+ col=c("red","yellow","green","blue"))

R绘图学习笔记

R绘图学习笔记的更多相关文章

  1. R绘图学习笔记&lpar;二&rpar;-

    依照计量对比药物A和药物B的响应情况 #计量向量 dose <- c(20,30,40,45,60) #药物A的反应向量数据 drugA <- c(16,20,27,40,60) #药物B ...

  2. R ggplot学习笔记1

    R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...

  3. R语言学习笔记(五)绘图&lpar;1&rpar;

      R是一个惊艳的图形构建平台,这也是R语言的强大之处.本文将分享R语言简单的绘图命令.   本文所使用的数据或者来自R语言自带的数据(mtcars)或者自行创建.   首先,让我们来看一个简单例子: ...

  4. R语言学习笔记2——绘图

    R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, ...

  5. R 语言学习笔记(3)—— 基础绘图

    R 中图形的概念 在 R 中图,就像 photoshop 中的图层一样,每一个元素都是层层向上延展构建的,最终形成了我们视觉上所形成的平面图形.这些元素包含了常见的图形的标题(title).坐标轴(a ...

  6. R语言学习笔记:基础知识

    1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...

  7. R语言学习笔记——C&num;中如何使用R语言setwd&lpar;&rpar;函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//")> setwd("e:\桌面\")> s ...

  8. R语言学习笔记之&colon; 论如何正确把EXCEL文件喂给R处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...

  9. R语言学习笔记(二)

    今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...

随机推荐

  1. Mware vCenter Server 识别固态硬盘为(非SSD)是什么原因?

    人工定义一下: 用root登录进ESXi控制台:esxcli storage nmp device list #列出储存清单esxcli storage nmp satp rule add -s VM ...

  2. 数据结构和算法 &ndash&semi; 6&period;构建字典: DictionaryBase 类和 SortedList 类

      6.1.DictionaryBase 类的基础方法和属性 大家可以把字典数据结构看成是一种计算机化的词典.要查找的词就是关键字,而词的定义就是值. DictionaryBase 类是一种用作专有字 ...

  3. Unity3D研究院之Inspector面板枚举的别名与排序

    虽然mono是支持unicode的.可以在枚举里写中文,但是我还是觉得写英文好一些.可是在编辑器上策划是希望看到的是中文的,还有就是枚举的展示排序功能,策划在编辑的时候为了方便希望把常用的枚举排上前面 ...

  4. arraylist的使用

    ArraylistDemo package cn.stat.p6.arraylist.demo; import java.util.ArrayList; import java.util.Iterat ...

  5. 马士兵 Servlet&lowbar;JSP&lpar;2&rpar; JSP源代码)

    1.最简单的JSP HelloWorld.jsp <html>     <head>         <title>Hello</title>     ...

  6. lua简洁的功能&lpar;两&rpar;

    Lua中的函数带有词法定界的第一类值. 第一类值: 在Lua中,函数和其它值(数值,字符串)一样,函数能够被存放在变量中,也存放在表中, 能够作为函数的參数,还能够作为函数的返回值. 词法定界:被嵌套 ...

  7. JavaScript进阶&lpar;八&rpar;JS实现图片预览并导入服务器功能

    JS实现导入文件功能       赠人玫瑰,手留余香.若您感觉此篇博文对您有用,请花费2秒时间点个赞,您的鼓励是我不断前进的动力,共勉!(PS:此篇博文是自己在午饭时间所写,为此没吃午饭,这就是程序猿 ...

  8. HBuilder 插件开发(openinstall 集成)

    离线打包 如果要集成使用非基座包下的第三方 SDK,就必须使用离线打包.可以参考 官方文档 进行离线打包,如果嫌官方文档看不懂,可以查看 其他技术人员的教程 开发插件 编写 Android 原生代码 ...

  9. 业务开发(一)—— MySQL

    0x01.SQL异常Incorrect string value java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9 ...

  10. Java工程师成神之路 转

      一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http:/ ...