R语言统计分析——自编函数

参考资料:R语言统计分析【第2版】

一个函数的结构大致如此:

myfunction<-function(arg1,arg2,...){

statements

return(object)

}

函数中的对象只在函数内部使用。返回对象的数据类型是任意的。

假设我们要编写一个函数,用来计算数据对象的集中趋势和离散程度。要求此函数可以选择性地给出参数统计量(均值和标准差)和非参数统计量(中位数和绝对中位差),结果以一个含名称列表的形式给出。

R 复制代码
# 构建自定义函数
mystats<-function(x,parametric=TRUE,print=FALSE){
  if (parametric){
    center<-mean(x);
    spread<-sd(x)
  }else{
    center<-median(x);
    spread<-mad(x)
  }
  if (print & parametric){
    cat("Mean=",center,"\n","SD=",spread,"\n")
  } else if (print & !parametric){
    cat("Median=",center,"\n","MAD=",spread,"\n")
  }
  result<-list(center=center,spread=spread)
  return(result)
}
# 设置随机种子
set.seed(1234)
# 取随机数
x<-rnorm(500)
# 执行自定义函数
y<-mystats(x)
y$center
y$spread

y<-mystats(x,parametric=FALSE,print=TRUE)

另一个自编函数是switch结构的。此函数可以让用户选择输出当天日期的格式。在函数声明中位参数指定的值作为默认值。在此函数中,如果未指定type,则long将作为默认的日期格式。

R 复制代码
mydate<-function(type='long'){
  switch(type,
         long=format(Sys.time(),"%A %B %d %Y"),
         short=format(Sys.time(),'%m-%d-%y'),
         cat(type,"is not a recognized type\n")
         )
}
mydate("long")
mydate()
mydate("short")
mydate("medium")
相关推荐
invincible_Tang11 小时前
R格式 (15届B) 高精度
开发语言·算法·r语言
KY_chenzhao12 小时前
基于R语言与MaxEnt的物种分布建模全流程解析:从算法优化到科研制图实战
r语言·maxent·气候变化·物种分布
tRNA做科研12 小时前
通过Bioconductor/BiocManager安装生物r包详解(问题汇总)
开发语言·r语言·生物信息学·bioconductor·biocmanager
Tiger Z12 小时前
R 语言科研绘图 --- 韦恩图-汇总
开发语言·程序人生·r语言·贴图
Biomamba生信基地2 天前
R语言入门课| 04 R语言基本函数
开发语言·r语言·生信
十三画者2 天前
【工具】BioPred一个用于精准医疗中生物标志物分析的 R 软件包
数据挖掘·数据分析·r语言·数据可视化
小艳加油2 天前
MaxEnt物种分布建模全流程;R+ArcGIS+MaxEnt模型物种分布模拟、参数优化方法、结果分析制图与论文写作
arcgis·r语言·物种分布模拟·maxent模型
weixin_贾2 天前
MaxEnt模型进阶:基于R语言自动化与GIS空间建模的物种栖息地精准预测
r语言·生物多样性·物种分布
预测模型的开发与应用研究2 天前
R语言实现轨迹分析--traj和lcmm包体会
机器学习·数据分析·r语言
Hefin_H4 天前
怎么把 GitHub 中的 R 包项目手动安装到 conda 环境中?
r语言·github·conda