Wickham的高级R书 - 练习答案6.1.2(功能)

时间:2015-08-10 15:40:34

标签: r function

问题2 Hadely Wickhams的练习6.1.2 - 精彩 - 高级R书 给出以下代码

objs <- mget(ls("package:base"), inherits = TRUE)
funs <- Filter(is.function, objs)

在问题2b)中,要求读者回答:

  

有多少基本函数没有参数?这些功能有什么特别之处?

为了获得没有参数的函数数量,我计算了每个函数的参数个数,选择那些参数为零的参数

leng <- sapply(funs, function(x) length(formals(x)))
zeroleng <- funs[leng == 0]

所以有lenght(zeroleng) = 222个函数没有任何参数。

我现在的问题是:你觉得他们有什么特别之处?

我的第一个猜测是它们都是原始函数,但是使用sapply(zeroleng, is.primitive)表明,对于大多数函数而言,它们为TRUE。通常情况并非如此。

Greetings Manu

1 个答案:

答案 0 :(得分:0)

这里有一个好的答案:
https://github.com/peterhurford/adv-r-book-solutions/blob/master/04_functions/01_components/exercise2.r
(有些数字是过时的;它与我自己的数字相同但是 风格更好)
我可以猜到问题在于知道apply()
一系列功能。第4章是明智之举 严肃地说词汇。许多功能都提供简单的本机帮助。有些人需要学习一些东西 中间体马特洛夫的R编程艺术。