R语言分组箱线图添加显著性标记简单小例子

R语言分组箱线图添加显著性标记简单小例子,第1张

最终出图如下

这里自动做统计检验的函数是 stat_compare_means()

读入数据

作图

这个函数来自于ggpubr这个包,只需要指定根据那一列来分组就可以了

默认的是Wilcoxon Rank Sum and Signed Rank Tests,如果要用t检验指定method参数

如果想把P值改成星号,直接加label=“psignif”参数

这里如果不显著会在图上显示ns,如果不想要ns,可以加 hidens = TRUE 参数

星号的位置可以手动指定,用 labely = c(26,31) 参数

使用到的是 ggsignif 这个包

小明的数据分析笔记本

%>%是管道符的意思,把左边的输出(不包括 <- 之前的)当成右边的输入。

都可以shift + alt + 上下 :快速复制粘贴

alt + 上下 :移动行

ctrl + alt + 上下 :多重光标

首先选中要注释掉的行,然后按Ctrl+shift+C ,这样就注释掉了。

sessionInfo()

libPaths()

一篇关于包的博客

library(installr)

updateR()

COS中文论坛 统计之都旗下的论坛网站(dcosxorg),它和其主站(cosxorg)一 起,是一个致力于推广与应用统计学知识的网站和社区。

1 help("ttest")

2 ttest

3 helpsearch("ttest")

4 apropos("ttest")

5 RGui>Help>Html help

6 查看R包pdf手册

getwd() 显示工作目录

setwd() 设定工作目录

listfiles() 列出目录或文件夹下的文件

demo( ) 显示R的基本程序

example( ) 显示在线帮助的例子

example(barplot)

可以把若干行命令保存在一个文本文件(比如Eg3R)中,然 后用source函数来运行整个文件: source("E:/R demo/Chapter1-Eg3R")

sum, mean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量, sort,order,rank与排序有关, 其它还有ave,fivenum,mad,quantile, stem等

-1:1/0 当中/是优先级靠后的 *** 作。相当于c(-1,0,1)/0

names(df) <- c("male", "female", "unknown")

对于矩阵,我们可以使用属性rownames和colnames来访问行名和列名。

我们也可以先定义矩阵x然后再为dimnames(x)赋值:

数值型数据 :12345e30

复数常量就用35-21i

缺失值:NA(Not Available)

是否含有缺失值:

NaN表示不确定的数

NaN属于NA的一种

NA不是NaN

注意下面例子的比较 :

assign("x1", c(1, 2))

sort(x)返回x的元素从小到大排序的结果向量。

x=c(2,10,6,8,4,5); sort(x) [1] 2 4 5 6 8 10  order(x)返回使得x从小到大排列的元素下标向量(x[order(x)]等效于sort(x))。

此外numeric(n)可以产生一个长度为n的零向量(numeric(n)是一个 很好用的外部存储器)

paste函数用来把它的自变量连成一个字符串,中间用空格分开

Re( )计算实部,Im( )计算虚部, Mod( ) 计算复数模,Arg( )计算复数幅角。

v为一个向量,取值在-length(x)到-1之间,表示扣除相应 位置的元素。例如:

可以用x[]的写法:

R的对象有两个基本的属性:类型属性(mode)和长度属性(length)。

长度为零的向量 numeric( ) 或者 numeric(0) character( ) 或者 character(0)

数组(array): 带多个下标的类型相同的元素的集合,

函数matrix():用于构造二维数组,即矩阵

函数factor( )用来把一个向量编码成为一个因子。

可以自行指定各离散取值水平(levels),不指定时由x的不同值来求得。

• labels可以用来指定各水平的标签,不指定时用各离散取值的对应字符串。

• exclude参数用来指定要转换为缺失值(NA)的元素值集合。

• ordered取真值时表示因子水平(Levels)是有次序的

因子可以用来作为另外的同长度变量的分类变量,使用tapply() 函数可以完成分类统计

nchar()这个函数简单,统计向量中每个元素的字符个数

tolower()和toupper()可以进行大小写字母的转换

chartr()把字符串里的元素,按要求进行转换

拆分字符串用strsplit()函数,strsplit得到的结果是列表,后面的处理要调用列表

其任何一个语句都可以看成是一个表达式。

表达式之间以分号分隔或用换行分隔。

表达式可以续行,只要前一行不是完整表达式,则下一行为上一行的继续。

线性回归模型:

lm()函数的返回值叫做模型拟合结果对象,本质上是一个列表, 有model 、coefficients、residuals等成员。lm()的结果显示十分 简单,为了获得更多的拟合信息,可以使用对lm类对象有特 殊 *** 作的通用函数,这些函数包括:

add1 coef effects kappa predict residuals alias deviance family labels print summary anova drop1 formula plot proj

加号+或 者减号-,表示在模型中加入一项或去掉一项,第一项前面如果是加号可以 省略

在非交互运行(程序)中应使用print()来输出。

• digits参数指定每个数输出的有效数字位数;

• quote 参数指定字符串输出时是否带两边的撇号;

• printgap参数指定矩阵或数组输出时列之间的间距

也用来输出,但它可以把多个参数连接起来再输出(具有paste() 的功能)。例如:

读取文件:

strsplit()得到的结果是 列表。

grep() grepl()

sub()和gsub()

但严格地说R语言 没有字符串替换的函数,因为R语言不管什么 *** 作对参数都是传值不传址,区别如下:

用substr()和substring() 可以通过位置进行字符串拆分或提取,两者的参数设置基本相同:

strtrim() 函数可以用于将字符串修剪到特定的显示宽度通过位置进 行字符串拆分或提取:

由于日期内部是用double存储的天数,所以是可以相减的。

weekdays ( )取日期对象所处的周几;

months ( )取日期对象的月份;

quarters ( )取日期对象的季度;

其任何一个语句都可以看成是一个表达式。

表达式之间以分号分隔或用换行分隔。

表达式可以续行,只要前一行不是完整表达式,则下一行为上一行的继续。

quantile(x, probs=seq(0,1,025), narm=FALSE, names=TRUE, type=7, …)

probs给出相应的百分位数,默认值是0,025,05,075,1;narm是处 理缺失数据的,narm=TRUE时,NA和NaN将从数据中移走,向量取值中 若有NA或NaN,要添加这一参数,否则会出错;names若为TRUE,返回 值当中有names这个属性"; type是取值1-9的整数,选择了九种分位数算法 (具体算法见帮助文件)中的一种。

数据的分布主要考察分布函数(p), 密度函数(d), 分位数函数(q)及产生随机数(r)

以正态分布为例:

hist(x, breaks="Sturges", freq=NULL, probability=!freq,… )

break规定了直方图的组距(必须覆盖数据的范围);freq是逻辑变量,TRUE是频率直方图, FALSE是密度直方图;probability和freq相反,TRUE是密度直方图,FALSE是频率直方图

其形式为 coplot(y ~ x | z),其中x 和y是数值型向量,z是同长度的因子。 对z的每一水平,绘制相应组的x和y的散点图

R缺省的图形边空常常太大,以至于有时图形窗口较小时边空占了整个图形的很大一部分。

R可以在同一页面开若干个按行、列排列的窗格,在每个窗格中可以作一 幅图。每个图有自己的边空,而所有图的外面可以包一个“外边空”。

一页多图用 mfrow 参数或 mfcol 参数规定,如

函数 mtext 用来在外边空加文字标注。其用法为

在多图环境中还可以用 mfg 参数来直接跳到某一个窗格,比如

可以不使用多图环境而直接在页面中的任意位置产生一个窗格来绘图,参数为 fig ,如:

先用asfactor()转化成因子。因为levels()函数里面必须是因子。

dat$Genre没有转化成因子形式,asfactor(dat$Genre)就可以了

该消息表明文件的最后一行不以行尾 (EOL) 字符结尾(换行符 ( \n ) 或回车 + 换行符 ( \r\n ))。此消息的初衷是警告您该文件可能不完整;大多数数据文件都有一个 EOL 字符作为文件中的最后一个字符。

这是因为R读取文件的时候,是一整段character,所以它只会返回1,适当给他分一下段。

G71是数控加工技术指令中的外圆粗车复合循环指令。

格式:G71 U(△d) R(r) P(ns) Q(nf) E(e) F(f) S(s) T(t)

说明:

G71 U (Δd) R(e)

G71 P(ns) Q(nf) U(Δu) W(Δw) F(f) S(s) T(t)

其中:

Δd为背吃刀量;

e为退刀量;

ns为精加工轮廓程序段中开始段的段号;

nf为精加工轮廓程序段中结束段的段号;

Δu为留给X轴方向的精加工余量;(直径值)

Δw为留给Z轴方向的精加工余量;

f、s、t为粗车时的进给量、主轴转速及所用刀具。而精加工时处于ns到nf程序段之内的F、S、T有效。

1采用复合固定循环需设置一个循环起点,刀具按照数控系统安排的路径一层一层按照直线插补形式分刀车削成阶梯形状,最后沿着粗车轮廓车削一刀,然后返回到循环起点完成粗车循环。

2零件轮廓必须符合X、Z轴方向同时单调增大或单调减少,即不可有内凹的轮廓外形;精加工程序段中的第一指令只能用G00或G01,且不可有Z轴方向移动指令。

3G71指令也可用于内孔轮廓的粗车加工。

4G71指令只是完成粗车程序,虽然程序中编制了精加工程序,目的只是为了定义零件轮廓,但并不执行精加工程序,只有执行G70时才完成精车程序。

四个窗口里面。

简单地分为四个窗口,从左至右分别是程序编辑窗口,工作空间与历史信息,程序运行与输出窗口,控制台,画图和函数包帮助窗口。定义函数。选中需要定义函数的一段程序,Code,Extract,Function或Ctrl加Alt加X,Rstudio会要求输入自定义函数的名字,输入回车,需要定义的函数则被function括号括起来。

定义和取消注释。如需将某段程序注释,选中点击Code,Comment,Uncomment,Line或Ctrl加Shift加C即可实现,将注释取消。

在Windows环境下如何编写R程序包,即生成供linux环境编译运行的targz文件,也生成供windows下使用的zip文件呢?其实并不复杂,只要下载一些工具软件,按照相应的步骤填写相应的“表格”,继而运行一些简单的指令,就可以生成R的程序包了。

编写R程序包通常包括以下几步:

(1) 工具软件Rtools的安装和备选软件的安装。

(2) r脚本的准备,也就是用来生成程序包的函数脚本。

(3) 利用R中自带的packageskeleton()函数,生成制作包所需要的Description 文件和帮助文件帮助文件rd。

(4) 编辑该函数生成的Description 文件和帮助文件rd

(5) 在windows cmd的命令行中输入相应的命令,生成zip文件或者targz

下面我们来一起建立只有一个函数的R程序包,来详细说明:

一 工具软件安装和配置

制作r包的工具软件包括Rtools,HTML编译器,MikTeX 或Cte等(备选软件不一定要安装):

1 工具软件安装

(1)Rtools(制作R包的主要工具)

Rtools是在windows下制作R包的一系列工具,其中包括

1) CYGWIN 在Windows下模拟UNIX环境

2) MinGW编译器,可用来编译C和Fortran语言。

3) Perl

下载地址: >

1、检验假设:在本文中,使用R语言进行了多变量协整检验。具体而言,测试了是否存在一种关系强度大小的函数形式来衡量不同变量之间的相关性。

2、研究方法:对于此目的,使用R语言中的cointegration()函数来实施Johansencointegrationtest。通过将所有可能的情况都考虑在内并对特定问题进行估计和分析来得出有意义的结果。

3、研究结果:首先,得出了JohansenCointegrationTest的p-value,这告诉我们是否存在显著性水平上存在一个弱单位根(WUR)和/或者一个弱零根(WRR)

R语言实际上是函数的集合,用户可以使用base,stats等包中的基本函数,也可以自己编写函数完成一定的功能。但是初学者往往认为编写R函数十分困难,或者难以理解。这里对如何编写R函数进行简要的介绍。

函数是对一些程序语句的封装。换句话说,编写函数,可以减少人们对重复代码书写,从而让R脚本程序更为简洁,高效。同时也增加了可读性。一个函数往往完成一项特定的功能。例如,求标准差sd,求平均值,求生物多样性指数等。R数据分析,就是依靠调用各种函数来完成的。但是编写函数也不是轻而易举就能完成的,需要首先经过大量的编程训练。特别是对R中数据的类型,逻辑判别、下标、循环等内容有一定了解之后,才好开始编写函数。 对于初学者来说,最好的方法就是研究现有的R函数。因为R程序包都是开源的,所有代码可见。研究现有的R函数能够使编程水平迅速提高。

R函数无需首先声明变量的类型,大部分情况下不需要进行初始化。一个完整的R函数,需要包括函数名称,函数声明,函数参数以及函数体几部分。

函数名称,即要编写的函数名称,这一名称就作为将来调用R函数的依据。

2 函数声明,包括 <- function, 即声明该对象的类型为函数。

3 函数参数,这里是输入的数据,函数参数是一个虚拟出来的一个对象。函数参数所等于的数据,就是在函数体内部将要处理的值,或者对应的数据类型。 函数体内部的程序语句进行数据处理,就是对参数的值进行处理 ,这种处理只在调用函数的时候才会发生。函数的参数可以有多种类型。R help的界面对每个函数,及其参数的意义及所需的数据类型都进行了说明。

4 函数体

常常包括三部分

(1) 异常处理

输入的数据不能满足函数计算的要求,或者类型不符, 这时候一定要设计相应的机制告诉用户,输入的数据在什么地方有错误。 错误又分为两种。

第一种, 如果输入的数据错误不是很严重,可以经过转换,变为符合处理要求的数据时, 此时只需要给用户一个提醒,告知数据类型不符,但是函数本身已经 进行了相应的转换。

第二种,数据完全不符合要求,这种情况下,就 要终止函数的运行,而告知因为什么,函数不能运行。这样,用户在 使用函数的情况先才不至于茫然。

(2) 运算过程

包括具体的运算步骤。 运算过程和该函数要完成的功能有关。

R运算过程中,应该尽量减少循环的使用,特别是嵌套循环。R提供了 apply,replicate等一系列函数,来代替循环,应该尽量应用这些函数, 提高效率。 如果在R中实在太慢,那么核心部分只能依靠C或者Fortran 等语言编写,然后再用R调用这些编译好的模块,达到更高的效率。

运算过程中,需要大量用到if等条件作为判别的标准。if和while都是需要数据TRUE/FALSE这样的逻辑类型变量,这就意味着,if内部,往往是对条件的判别,例如 isna, ismatrix, isnumeric等等,或者对大小的比较,如,if(x > 0), if(x == 1), if(length(x)== 3)等等。if后面,如果是1行,则花括号可以省略,否则就必须要将所有的语句都放在花括号中。这和循环是一致的。

例子:

## if与条件判断

funtest <- function(a, b, method = "add"){

if(method == "add") { ## 如果if或者for/while;

res <- a + b ## 等后面的语句只有一行,则无需使用花括号。

}

if(method == "subtract"){

res <- a - b

}

return(res) ## 返回值

}

### 检验结果

funtest(a = 10, b = 8, method = "add")

funtest(a = 10, b = 8, method = "substract")

G71 外圆粗车循环(G71)

指令格式: G71 X(U) I K L F ;

其中:X(U)—精加工轮廓起点的X轴坐标值

I---X轴方向每次进刀量,直径值表示,无符号数

K---X轴方向每次退刀量,直径值表示,无符号数

L---描述最终轨迹的程序段数量(不包括自身)范围:1-99

F---切削速度

内外圆粗车复合循环

循环执行过程

X轴快速进给I的距离

Z轴切削进给,进给终点由系统自动计算

X轴以F速度退K的距离

Z轴快速退回起点

X轴进给I+K的距离

重复2-5的过程直到X方向到达指令中X指令的位置

扩展资料:

G71是数控加工技术指令中的外圆粗车复合循环指令。

格式:G71 U(△d) R(r) P(ns) Q(nf) E(e) F(f) S(s) T(t)

说明:

G71 U (Δd) R(e)

G71 P(ns) Q(nf) U(Δu) W(Δw) F(f) S(s) T(t)

其中:

Δd为背吃刀量;

e为退刀量;

ns为精加工轮廓程序段中开始段的段号;

nf为精加工轮廓程序段中结束段的段号;

Δu为留给X轴方向的精加工余量;(直径值)

Δw为留给Z轴方向的精加工余量;

f、s、t为粗车时的进给量、主轴转速及所用刀具。而精加工时处于ns到nf程序段之内的F、S、T有效。

参考资料来源:百度百科-G71

以上就是关于R语言分组箱线图添加显著性标记简单小例子全部的内容,包括:R语言分组箱线图添加显著性标记简单小例子、R语言基础汇总、兴强数控g71程序怎么编等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10146969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存