如何修改和使用R包的功能?

时间:2014-01-02 04:32:17

标签: r function

我的问题是关于How do you adjust/control the scale in a treemap (using the 'portfolio' library) in R?

我按照其中一个答案的建议将seq(-1,0修改为seq(0,1。然后我将整个map.market函数复制并粘贴到R中,但无法调用刚刚粘贴的修改版本。当我键入map.market时,函数“portfolio”的原始定义将打印在R编辑器窗口中。如何运行我刚粘贴的版本?

1 个答案:

答案 0 :(得分:6)

如果您只是复制并粘贴,该功能并未真正保存在您的会话中。您需要将其分配给R中的对象。当您键入函数map.market的名称时,您将获得代码:

function(...)
{
# all
# the code 
# of the function
}
<bytecode: 0x0000000007dd9aa0>
<environment: namespace:portfolio>

因此,您必须复制<bytecode><environment>行之前的所有内容,修改并将其保存到对象

map.market2 = function(...)
{
# all
# the code 
# of the function (with modifications)
}

现在,您可以根据需要使用新修改的函数map.market2。如果需要,可以将其命名为map.market,但检查不会破坏其余代码。例如,如果您之前使用过原始函数,因为新修改的函数将优先于原始函数。