R语言【技巧】——判断自定义函数的传参内容是否符合要求

1. 利用 if 条件判断,stop 语句报错

比如 对一个应该传入数值型,数值为 01 的参数:

R 复制代码
if(add.strat<0 | add.strat>1){
    stop("add.strat represents the fraction of pseudoabsences that are
         sampled environmentally stratified and should be between 0 and 1!")
  }

比如 对一个应该传入字符型,字符串为 某个向量元素之一 的参数,类似于选项框:

R 复制代码
possibtype=c("geographic","random","target.group","geo.strat","density",
               "env.strat","env.semi.strat")
  if(length(type)!=1 | !(type%in%possibtype)){
    stop("Invalid specification of pseudoabsence sampling type!")
  }

2. 利用 match.arg 语句判断传参是否在接收范围内

R 复制代码
match.arg(value, choices = c("spatialvalid", "flagged", "clean"))

match.arg(centroids_detail, choices = c("both", "country", "provinces"))

match.arg(outliers_method, choices = c("distance", "quantile", "mad"))
相关推荐
草莓火锅5 小时前
用c++求第n个质数
开发语言·c++·算法
aniden5 小时前
Swagger从入门到实战
java·开发语言·spring
emma羊羊6 小时前
【PHP反序列化】css夺旗赛
开发语言·网络安全·php
threelab6 小时前
Merge3D:重塑三维可视化体验的 Cesium+Three.js 融合引擎
开发语言·javascript·3d
liu****6 小时前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节
长不大的蜡笔小新6 小时前
掌握NumPy:ndarray核心特性与创建
开发语言·python·numpy
Yue丶越6 小时前
【C语言】深入理解指针(三)
c语言·开发语言
luoganttcc6 小时前
已知 空间 三个 A,B C 点 ,求 顺序 经过 A B C 三点 圆弧 轨迹 ,给出 python 代码 并且 画出图像
c语言·开发语言·python
今天的砖很烫6 小时前
ThreadLocal 结构设计的精妙之处
java·开发语言
麦麦鸡腿堡7 小时前
Java_HashMap底层机制与原码解读
java·开发语言·jvm