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")
相关推荐
babe小鑫7 天前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
深兰科技8 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
赵钰老师9 天前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言
User_芊芊君子13 天前
RStudio 鸿蒙 PC 适配全记录:以 Qt 原生工作区承载嵌入式 R
qt·r语言·harmonyos
临床数据科学和人工智能兴趣组13 天前
399元现在超值!学R语言,订阅我们专栏就够了,包括了所有的内容,不断更新!
人工智能·数据挖掘·r语言·r语言-4.2.1·临床研究
babe小鑫14 天前
生物统计学专业校招:SAS、R、Python学习顺序实用指南
python·学习·r语言
大江东去浪淘尽千古风流人物14 天前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
babe小鑫15 天前
精算学专业秋招:Excel、SQL、R和Python应该先练什么
sql·r语言·excel
海盗123416 天前
微软技术日报 2026-09-10:Project Zenith 开发者设备亮相,.NET 11 RC1 可投产
microsoft·r语言·.net
统计学小王子17 天前
数学建模国赛倒计时1天——《统计模型精讲(岭回归R语言实战篇)》
数学建模·回归·r语言