R功能范围

时间:2011-04-04 02:17:21

标签: function r

我正在尝试为R中的一系列舍入工作创建一个函数,我有百分比,小数等,每个都需要以不同的方式舍入。

我首先拿起我想要的对象来开始编写函数,但是我没有做到这一点,这里是代码:

roundings <- function(obj.head)
                     {obj.list <- ls(pattern=obj.head)
                      obj.list
                     }

假设我有两个对象A1B1,我想如果我运行roundings("A")A1应该显示为函数输出,但它不会。< / p>

我做错了什么?感谢。

2 个答案:

答案 0 :(得分:2)

我找到了原因,我应该在envir=.GlobalEnv参数中添加ls

答案 1 :(得分:2)

ls的调用是搜索函数中的当前环境,但找不到任何匹配的对象。您可以使用envirls中指定.GlobalEnv参数。因此,您的代码变为:

roundings <- function(obj.head)
{
    obj.list <- ls(pattern = obj.head, envir = .GlobalEnv)
    obj.list
}