什么';在R语言中,两个括号的意思是什么
当我学习R中的什么';在R语言中,两个括号的意思是什么,r,R,当我学习R中的ggthemes包时,下面是!。我看到的代码如下: p + geom_rangeframe() + theme_tufte() + scale_x_continuous(breaks = extended_range_breaks()(mtcars$wt)) 所以我混淆了extended\u range\u breaks()(mtcars$wt) extended_range_breaks是ggthemes包中的一个函数 函数名跟在一个()后面,为什么第二个()中
ggthemes
包时,下面是!。我看到的代码如下:
p + geom_rangeframe() +
theme_tufte() +
scale_x_continuous(breaks = extended_range_breaks()(mtcars$wt))
所以我混淆了extended\u range\u breaks()(mtcars$wt)
extended_range_breaks
是ggthemes
包中的一个函数
函数名跟在一个()
后面,为什么第二个()
中有参数mtcars$wt
?函数扩展范围如何中断
接受参数
在正常情况下,我只能理解这样的用法:
extended_range_breaks(mtcars$wt)
我猜它的意思是
extended\u range\u breaks()
返回另一个函数。下面是R中返回函数的简化示例:
myFun <- function() { function(x) x }
myFun()
function(x) x
<environment: 0x10fad05b8>
myFun()(1)
[1] 1
myFun另一个想到的例子是colorrmppalete
,它返回一个在颜色之间插值的函数。例如,colorRampPalette(c(“红色”、“蓝色”))(10)
返回在红色和蓝色之间插值的10种颜色。您可以保存该函数,例如,mycol=colorrmppalete(c(“红色”、“蓝色”))
,然后执行mycol(10)
,mycol(3)
,等等,但第一个版本是一次性的。完美!非常感谢。我已经阅读了extended_range_breaks的源代码,并编写了测试代码。它返回一个函数,正如您所说。