统计学-R语言-4.1
文章目录
- 前言
- 编写R函数
- 图形的控制和布局
- par函数
- layout函数
- 练习
前言
安装完R软件之后就可以对其进行代码的编写了。
编写R函数
如果对数据分析有些特殊需要,已有的R包或函数不能满足,可以在R中编写自己的函数。函数的定义格式如下所示:
functionname<-function(a1, a2,...)expression
该式中, functionname是函数名称; function指明该对象为函数类型;a1,a2,为函数中涉及的参数; expression是函数的具体内容。
比如,要自己编写函数计算50个学生考试分数的平均数、中位数、极差和标准差,代码如下所示。(使用example1_1)。
load("C:/example/ch1/example1_1.RData") # 装载数据
x<-example1_1[,4] # 为x赋值为example1_1的第4列
myfun<-function(x){ # 编写函数如下
n<-length(x)
mean<-sum(x)/n
median<-median(x)
r<-max(x)-min(x)
s<-sd(x)
df<-data.frame(样本量=n,平均数=mean,中位数=median,极差=r,标准差=s)
return(df)
}
myfun(x) # 返回函数结果

图形的控制和布局
par函数
参数介绍如下表:

不同数字代表的R的绘图线型(Ity)和线宽(lwd):

不同数字代表的R的绘图符号(pch):

par函数中的参数 mfrow(或mfcol)可以将绘图区域分割成R×C的矩阵,从而可以在一个绘图区域中绘制多个图,但参数向量c(nr,nc)是将绘图区域的行和列等分。
layout函数
有时需要将绘图区划分成不同大小的区域以满足不同图形的要求,这时可以使用layout函数来布局。函数的格式及参数的意义如下表所示:

layout(matrix(c(1,2,3,3),nrow=2,ncol=2),widths=c(2,1)) # 布局绘图环境
par(mai=c(0.6,0.6,0.1,0.1),cex=0.7) # 设定图形边距、文字和绘图符号大小
x<-rnorm(5000) # 生成5000个标准正态分布随机数
y<-rchisq(5000,10) # 生成5000个卡方分布随机数
hist(x,prob=TRUE,col="lightblue",xlab="x",ylab="Density",ylim=c(0,0.4),main="") # 绘制x的直方图
hist(y,freq=FALSE,col="pink",xlab="y",ylab="Density",main="") # 绘制y的直方图
boxplot(x,col="red",lwd=1) # 绘制x的箱线图

layout(matrix(c(1,2,3,3),nrow=2,ncol=2,byrow=TRUE),heights=c(2,1)) # 布局绘图环境
par(mai=c(0.6,0.6,0.1,0.1),cex=0.7) # 设定图形边距、文字和绘图符号大小
x<-rnorm(1000) # 生成1000个标准正态分布随机数
y<-rchisq(1000,10) # 生成1000个卡方分布随机数
hist(x,prob=TRUE,col="lightblue",xlab="x",ylab="Density",ylim=c(0,0.4),main="") # 绘制x的直方图
plot(x,y,xlab="x",ylab="y") # 绘制x和y的散点图
boxplot(y,col="red",lwd=1,horizontal=TRUE,varwidth=TRUE) # 绘制x的箱线图

练习
1、layout()函数通用格式?

2、如果绘图的布局如下所示,请写出正确的代码进行实现。
par(oma = c(2,2,2,2))
layout(matrix(c(1, 2, 1, 3), 2), widths = c(1, 3), heights = c(1, 2))
layout.show(3)

相关文章:
统计学-R语言-4.1
文章目录 前言编写R函数图形的控制和布局par函数layout函数 练习 前言 安装完R软件之后就可以对其进行代码的编写了。 编写R函数 如果对数据分析有些特殊需要,已有的R包或函数不能满足,可以在R中编写自己的函数。函数的定义格式如下所示: …...
C++(1) —— 基础语法入门
目录 一、C初识 1.1 第一个C程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 二、数据类型 2.1 整型 2.2 sizeof 关键字 2.3 实型(浮点型) 2.4 字符型 2.5 转义字符 2.6 字符串型 2.7 布尔类型 bool 2.8 数据的输入 三…...
构建基于RHEL8系列(CentOS8,AlmaLinux8,RockyLinux8等)的支持63个常见模块的PHP8.1.20的RPM包
本文适用:rhel8系列,或同类系统(CentOS8,AlmaLinux8,RockyLinux8等) 文档形成时期:2023年 因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…...
Vue-插槽(Slots)
1. 介绍 在Vue.js中,插槽是一种强大的功能,它允许你创建可重用的模板,并在使用该模板的多个地方插入自定义内容。 插槽为你提供了一种方式,可以在父组件中定义一些“插槽”,然后在子组件中使用这些插槽,插…...
新火种AI|GPT-5前瞻!GPT-5将具备哪些新能力?
作者:小岩 编辑:彩云 Sam Altman在整个AI领域,乃至整个科技领域都被看作是极具影响力的存在,而2023年OpenAI无限反转的宫斗事件更是让Sam Altman刷足了存在感,他甚至被《时代》杂志评为“2023年度CEO”。 也正因此&…...
安防视频监控系统EasyCVR设备分组中在线/离线数量统计的开发与实现
安防视频监控EasyCVR系统具备较强的兼容性,它可以支持国标GB28181、RTSP/Onvif、RTMP,以及厂家的私有协议与SDK,如:海康ehome、海康sdk、大华sdk、宇视sdk、华为sdk、萤石云sdk、乐橙sdk等。EasyCVR平台可覆盖多类型的设备接入&am…...
spring cloud之集成sentinel
写在前面 源码 。 本文一起看下spring cloud的sentinel组件的使用。 1:准备 1.1:理论 对于一个系统来说,最重要的就是高可用,那么如何实现高可用呢?你可能会说,集群部署不就可以了,但事实并…...
让车辆做到“耳听八方”,毫米波雷达芯片与系统设计
摘要: 毫米波雷达,是指工作在毫米波波段(一般为30~300GHz频域,波长1~10mm)探测的雷达。毫米波雷达体积小、质量轻、空间分辨率高,穿透“雾烟灰”的能力强,还具备全天候全天时工作的优势。在智能网联汽车体系中,毫米波雷达是系统感知层不可或缺的重要硬件,能让智能驾…...
Python如何实现数据驱动的接口自动化测试
大家在接口测试的过程中,很多时候会用到对CSV的读取操作,本文主要说明Python3对CSV的写入和读取。下面话不多说了,来一起看看详细的介绍吧。 1、需求 某API,GET方法,token,mobile,email三个参数 token为必填项mobil…...
高级分布式系统-第15讲 分布式机器学习--联邦学习
高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 联邦学习 两种常见的架构:客户-服务器架构和对等网络架构 联邦学习在传统的分布式机器学习基础上的变化。 传统的分布式机器学习:在数据中心或计算集群中使用并行训练,因为…...
小程序基础学习(事件处理)
原理:组件内部设置点击事件,然后冒泡到页面捕获点击事件 在组件内部设置点击事件 处理点击事件,并告诉页面 页面捕获点击事件 页面处理点击事件 组件代码 <!--components/my-info/my-info.wxml--> <view class"title"…...
网络协议与攻击模拟_01winshark工具简介
一、TCP/IP协议簇 网络接口层(没有特定的协议) 物理层:PPPOE宽带拨号(应用场景:宽带拨号,运营商切网过来没有固定IP就需要拨号,家庭带宽一般都采用的是拨号方式)数据链路层网络层…...
【linux学习笔记】网络
目录 【linux学习笔记】网络检查、监测网络ping-向网络主机发送特殊数据包traceroute-跟踪网络数据包的传输路径netstat-检查网络设置及相关统计数据 通过网络传输文件ftp 【linux学习笔记】网络 检查、监测网络 ping-向网络主机发送特殊数据包 最基本的网络连接命令就是pin…...
JUC-线程中断机制和LockSupport
线程中断机制 概念 java提供了一种用于停止线程的协商机制-中断。称为中断标识协商机制。 常用API public void interrupt() 仅仅让线程的中断标志位设置为true。不进行其他操作。public boolean isInterrupted() 获取中断标志位的状态。public static boolean interrupted…...
哈希表与哈希算法(Python系列30)
在讲哈希表数据结构和哈希算法之前,我想先刨析一下数组和python中的列表 首先来讲一下数组,我想在这提出一个疑问: 为什么数组通过索引查询数据的时间复杂度为O(1),也就是不管数组有多大,算法的执行时间都是不变的。…...
『 C++ 』AVL树详解 ( 万字 )
🦈STL容器类型 在STL的容器中,分为几种容器: 序列式容器(Sequence Containers): 这些容器以线性顺序存储元素,保留了元素的插入顺序。 支持随机访问,因此可以使用索引或迭代器快速访问任何位置的元素。 主要的序列式…...
Python下载安装pip方法与步骤_pip国内镜像
前提:下载安装好 python 打开命令提示符winR->cmd(不需要进入 python,直接在终端输入指令执行即可,也可以再 pycharm 终端执行命令)加入要安装ipython,需要执行以下命令: pip install **<…...
自动化测试框架pytest系列之基础概念介绍(一)
如果你要打算学习自动化测试 ,无论是web自动化、app自动化还是接口自动化 ,在学习的道路上,你几乎会遇到pytest这个测试框架,因为自动化编写没有测试框架,根本玩不了 。 如果你已经是一位自动化测试人员 ,…...
编码技巧:如何在Golang中高效解析和生成XML
编码技巧:如何在Golang中高效解析和生成XML 引言Golang中的XML基础解析XML文件生成XML文件错误处理和调试高级技巧和最佳实践总结 引言 在当今数据驱动的编程世界中,有效地处理各种数据格式是每个开发人员必备的技能之一。其中,XMLÿ…...
24校招,帆书测试开发工程师一面
前言 樊高读书是帆书的前身,我之前还看过他们的书,缘分闭环了 时间:25min 平台:飞书视频面试 过程 自我介绍为啥从后端转测试?通过实习经历,对测试有什么了解?讲一下游戏测试经历负责什么业…...
**发散创新:基于Go语言的事件驱动式应急响应架构设计与实践**在现代云原生和微服务架构中,**快速、精准的事件
发散创新:基于Go语言的事件驱动式应急响应架构设计与实践 在现代云原生和微服务架构中,快速、精准的事件响应能力已成为系统稳定性的核心保障。传统的轮询式监控和静态规则告警已难以应对复杂多变的生产环境。本文将带你深入探索一种以 Go语言为核心 的轻…...
PADS VX2.8 极坐标布局技巧:圆形灯板LED高效排列指南
1. 极坐标布局在圆形灯板设计中的核心价值 第一次接触圆形LED灯板设计时,我被密密麻麻的元件排列搞得头晕眼花。传统直角坐标系下,要精确控制每个LED灯珠的间距和角度,需要反复计算XY坐标,效率极低。直到发现PADS VX2.8的极坐标功…...
3步构建数字记忆堡垒:开源工具GetQzonehistory数据留存全攻略
3步构建数字记忆堡垒:开源工具GetQzonehistory数据留存全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的生活轨迹日益依赖在线平台&#…...
SimWorks FDTD仿真结果可视化:从监视器数据到专业图表,手把手教你避开插值陷阱
SimWorks FDTD仿真结果可视化:从监视器数据到专业图表,手把手教你避开插值陷阱 电磁仿真工程师们常遇到这样的困境:明明仿真设置无误,计算结果却与预期存在微妙差异。问题的根源往往不在仿真过程本身,而在于后处理阶段…...
Redis 不止缓存!从零到一吃透 Redis 向量数据库
前言大模型时代,检索增强生成(RAG)、智能推荐、多模态检索等场景已成为业务创新的核心方向,而向量数据库正是支撑这些场景的底层基石。很多开发者提起向量数据库,第一反应是Milvus、Pinecone这类专业组件,却…...
专业级流媒体下载器实战解析:7个高效配置技巧掌握N_m3u8DL-RE
专业级流媒体下载器实战解析:7个高效配置技巧掌握N_m3u8DL-RE 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8D…...
如何在5分钟内搭建终端风格网站:LiveTerm自动化安装完整指南
如何在5分钟内搭建终端风格网站:LiveTerm自动化安装完整指南 【免费下载链接】LiveTerm 💻 Build terminal styled websites in minutes! 项目地址: https://gitcode.com/gh_mirrors/li/LiveTerm LiveTerm是一款功能强大的开源工具,能…...
3种突破窗口限制的高效方案:WindowResizer让桌面管理更自由
3种突破窗口限制的高效方案:WindowResizer让桌面管理更自由 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 在数字化办公环境中,窗口尺寸管理直接影响工作效…...
ACadSharp:.NET平台下的CAD文件处理解决方案
ACadSharp:.NET平台下的CAD文件处理解决方案 【免费下载链接】ACadSharp C# library to read/write cad files like dxf/dwg. 项目地址: https://gitcode.com/gh_mirrors/ac/ACadSharp 计算机辅助设计(Computer Aided Design, CAD)技术已成为工程领域不可或缺…...
经营分析会哪些指标最重要?老板最该看的10个经营分析指标
开经营分析会,最怕的就是数据。很多老板一开经营分析会就头疼:这么多数字,我到底该看哪个?做了十多年财务管理了,我一直在内部推行一套极简框架:所有经营讨论,都必须围绕这10个根本指标展开。这…...
