R 带有非连续字母的参数缩写(部分匹配+;+;)?
这很难做到,但有没有办法为字母顺序不连续的参数名指定缩写?对于一些很长的描述性名称,部分匹配不起作用 示例:(格式为“R 带有非连续字母的参数缩写(部分匹配+;+;)?,r,R,这很难做到,但有没有办法为字母顺序不连续的参数名指定缩写?对于一些很长的描述性名称,部分匹配不起作用 示例:(格式为“长名称”-典型部分匹配”-我想要的内容”) ,stringsafactors-,strings-,saf或,asfact ,市场首字母-,标记-,市场 ,再平衡功能-,再平衡-,rebfn 这不是什么大不了的事,我可以看出它会导致更多的问题,但在有些情况下,我在一个包中有一个缩写的约定,仅仅因为一个特定的参数更具描述性(因为它以特定的方式使用它),就打破它们是很奇怪的。因此,
长名称”
-典型部分匹配”
-我想要的内容”
)
-,stringsafactors
-,strings
或,saf
,asfact
-,市场首字母
-,标记
,市场
-,再平衡功能
-,再平衡
,rebfn
这不是什么大不了的事,我可以看出它会导致更多的问题,但在有些情况下,我在一个包中有一个缩写的约定,仅仅因为一个特定的参数更具描述性(因为它以特定的方式使用它),就打破它们是很奇怪的。因此,长表单可以准确地告诉用户它在这个特定功能中是如何使用的,但短表单中,人们会理解它的用途,我可以保持惯例。我将在聊天中添加我给你的答案。如果您看看R核心开发人员如何为不同的参数实现这一点,您只需使用函数声明即可。从read.table,其中包含一个参数
as.is
和一个参数stringsAsFactors
,它们的作用完全相同(或实际上相反):
问题是,只有为它们中的任何一个指定默认值,这才有效。通常,NULL是一个很好的候选者:
myfunc <- function(x, market_initial=NULL, mkt = market_initial, ...){
if(is.null(mkt)) {
print("give me market_initial!") # instead of missing(mkt)
} else {
print(mkt)
}
}
myfunc
myfunc <- function(x, market_initial=NULL, mkt = market_initial, ...){
if(is.null(mkt)) {
print("give me market_initial!") # instead of missing(mkt)
} else {
print(mkt)
}
}