Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 带有非连续字母的参数缩写(部分匹配+;+;)?_R - Fatal编程技术网

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)
    }

}