R语言中如何编写自己的函数初步入门
一、循环与控制
循环:
for(i in 1:10) print("hello world")
i<-10
while(i>0){
print(i);
i<-i-1;
}
控制
if()
if() else
ifelse(判断,true,false)
switch(type,。。。)
二、用户自定义函数
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) 生成符合正态分布500个元素
y <- mystats(x)
y <- mystats(x, parametric=FALSE, print=TRUE)
下面是一个关于switch函数的例子
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("short")
mydate()
mydate("medium")
R语言中如何编写自己的函数初步入门相关推荐
- R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
原文链接:http://tecdat.cn/?p=20828 本文使用lasso或非凸惩罚拟合线性回归,GLM和Cox回归模型的正则化,特别是_最小_最_大凹_度_惩罚_函数_(MCP)_和光滑切片绝 ...
- 在R语言中进行局部多项式回归拟合(LOESS)
局部多项式回归拟合是对两维散点图进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性.当要估计某个响应变量值时,先从其预测变量附近取一个数据子集,然后对该子集进行线性回归或二次回归,回 ...
- R语言中作图的一些基本代码
文章目录 利用par()函数设置公共绘图参数(重点) 在已有的plot图像中如何添加线条 做出三维表面图 控制坐标轴显示的区域 在指定坐标中做注释 标题和xy的标签 标题中的字体 通过title()对 ...
- c语言比率分布 函数 rate(m),R语言中统计分布和模拟_R语言培训
R语言中统计分布和模拟 前言 很多应用都需要随机数.像interlink connection,密码系统.视频游戏.人工智能.优化.问题的初始条件,金融等都需要生成随机数.但实际上目前我们并没有&qu ...
- R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame)、添加标题、副标题
R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame).添加标题.副标题. ...
- R语言中使用pkgbuild::find_rtools查看是否有Rtools、使用Sys.which函数查看make是否存在、如果没有则安装、使用writeLines函数绑定R和Rtools
R语言中使用pkgbuild::find_rtools(debug = TRUE)查看是否有Rtools.使用Sys.which函数查看make是否存在.如果没有则安装Rtools.使用writeLi ...
- R语言广义线性模型函数GLM、glm函数构建泊松回归模型、模型中存在过离散(Overdispersion)、则将连接函数从possion函数替换为quasipoisson函数重新构建泊松回归模型
R语言广义线性模型函数GLM.glm函数构建泊松回归模型(Poisson regression).模型中存在过离散(Overdispersion).则将连接函数从possion函数替换为quasipo ...
- R语言可视化、编写自定义函数可视化水平排序条形图(horizontal bar plot)、自定义图像布局模仿经济学人杂志可视化效果、右侧添加标签数值图像方框、自定义背景色、水平条形图中间线条等
R语言可视化.编写自定义函数可视化水平排序条形图(horizontal bar plot).自定义图像布局模仿经济学人杂志可视化效果.右侧添加标签数值图像方框.自定义背景色.水平条形图中间线条.网格线 ...
- R语言使用scatterplot3d包的scatterplot3d函数可视化3D散点图(3D scatter plots)、在3D散点图中添加垂直线和数据点描影、3D图中添加回归平面
R语言使用scatterplot3d包的scatterplot3d函数可视化3D散点图(3D scatter plots).在3D散点图中添加垂直线和数据点描影.3D图中添加回归平面(overlaid ...
最新文章
- Docker背后的内核知识:命名空间资源隔离
- 解决Moodle日历乱码的最佳方案
- 安卓最好用的浏览器_iOS最好用的浏览器,没有之一!
- [HEOI2016/TJOI2016]求和
- 即时通讯音视频开发(六):如何开始音频编解码技术的学习
- 简单扩展shiro 实现NOT、AND、OR权限验证(支持复杂一点的表达式)
- 字符串_月隐学python第7课
- 剑指Offer 斐波那契数列
- [Leetcode][第题][JAVA][两个数组的交集 II1][双指针][HashMap]
- ISOLINUX: A bootloader for Linux using ISO 9660/El Torito CD-ROMs
- 怎么设置电脑屏幕一直亮着_电脑屏幕分辨率的调节方法
- leetcode------Binary Tree Level Order Traversal II
- MODFLOW Flex、GMS、FEFLOW、HYDRUS实践应用
- EnableQ,细腻让其与众不同
- BZOJ5369-[Pkusc2018]最大前缀和
- 代码设置margintop_js获取css属性,更改margin-top属性,给每个a标签的margin-top属性在原基础上 +5px...
- Qt下绘制PPI扫描的雷达图
- C语言蓝桥杯刷题:数字三角形
- Win11宽带连接错误651如何解决?
- Go context.Context的学习