如何找到相当于`foo< -`的标准函数?

时间:2017-01-19 14:31:07

标签: r

NB:在标题中,在这篇文章中,我使用形容词"标准"来描述预先存在的函数(而不是在...上创建的函数) -fly在运行时)并且默认情况下在vanilla R会话中可用,无需加载其他包或使用包限定名称。我确信有更好的方法来引用这些函数请让我知道它是什么。)

经常会出现"典型的"设置项目属性的方法(至少在创建之后)是通过赋值。例如。在names属性的情况下,这将如下所示:

lo4 <- function.returning.list.of.four.items(blah, blah, blah)
names(lo4) <- c('eeny', 'meeny', 'miny', 'moe')

(我会将这些属性称为&#34;赋值可设置&#34; 1 。)

或者,可以使用通过将<-附加到属性名称(并引用整个内容)获得的函数,即时设置属性的值; e.g:

lo4 <- `names<-`(function.returning.list.of.four.items(blah, blah, blah),
                 c('eeny', 'meeny', 'miny', 'moe'))

(为了这个问题,我将使用特殊术语计算[属性]设置器来处理上面的`names<-`这样的函数。)

然而,事实证明,对于某些(并非所有!)属性,有标准的R函数可以实时设置它们的值&#34;&#34; ;例如,names属性,标准setNames函数:

lo4 <- setNames(function.returning.list.of.four.items(blah, blah, blah),
                c('eeny', 'meeny', 'miny', 'moe'))

(同样,为了这个问题,我将使用ad-hoc术语标准[attribute] setter 作为标准属性设置函数,例如setNames。 )

setNames的示例可能会鼓励人们希望,对于任何其他可分配的属性foo,都会有标准属性设置器 setFoo。不幸的是,情况似乎并非如此:

m2x2 <- setDim(function.returning.vector.of.four.ints(blah, blah, blah), c(2, 2))
Error: could not find function "setDim"

我的问题是:如果对于某些可分配的属性foo存在标准属性setter ,是否有系统的方法来查找其名称?

天真地搜索foo的文档是不够的。例如,setNames的文档中根本没有提到names

1 来想一想,我无法想出R中任何不可分配的属性,所以也许是&#34;分配可设置的&#34;描述符是多余的。

0 个答案:

没有答案