R 我可以在函数中创建全局数据集吗
为了提高速度,我创建了一些始终可用的通用全局数据集。它们需要不时更新 我试图在一个函数中实现这一点,当数据集需要更新时,我将调用该函数 是否有任何方法可以在R中的函数中创建全局数据集?我知道assign函数,但我无法使该函数用于数据帧,只能用于变量 我该怎么做R 我可以在函数中创建全局数据集吗,r,assign,R,Assign,为了提高速度,我创建了一些始终可用的通用全局数据集。它们需要不时更新 我试图在一个函数中实现这一点,当数据集需要更新时,我将调用该函数 是否有任何方法可以在R中的函数中创建全局数据集?我知道assign函数,但我无法使该函数用于数据帧,只能用于变量 我该怎么做 x <- c(1,2,3,4) z <- function () x <- c(1,2,3,4,5,6,7,8,9,10) x我们可以使用我们可以使用 我知道assign函数,但我无法使该函数用于数据帧,只能用
x <- c(1,2,3,4)
z <- function () x <- c(1,2,3,4,5,6,7,8,9,10)
x我们可以使用我们可以使用
我知道assign函数,但我无法使该函数用于数据帧,只能用于变量
奇数:assign
对所有类型的对象都以相同的方式工作,无论其类型如何:
assign('name', object, environment)
在您的情况下,这将是:
assign('x', your_df, globalenv())
-但正如一篇评论中所提到的,修改函数作用域之外的对象是一个非常糟糕的主意(很少有例外)。函数工作的正确方法是从函数返回修改/创建的对象
要使用您的示例:
x <- c(1,2,3,4)
z <- function () c(1,2,3,4,5,6,7,8,9,10)
# Usage:
x <- z()
x
我知道assign函数,但我无法使该函数用于数据帧,只能用于变量
奇数:assign
对所有类型的对象都以相同的方式工作,无论其类型如何:
assign('name', object, environment)
在您的情况下,这将是:
assign('x', your_df, globalenv())
-但正如一篇评论中所提到的,修改函数作用域之外的对象是一个非常糟糕的主意(很少有例外)。函数工作的正确方法是从函数返回修改/创建的对象
要使用您的示例:
x <- c(1,2,3,4)
z <- function () c(1,2,3,4,5,6,7,8,9,10)
# Usage:
x <- z()
x尝试这是可能的,但强烈反对。修改全局范围的函数是反模式的。相反,您需要更改代码的数据访问逻辑以使其变得不必要。尝试使用是可能的,但强烈建议不要这样做。修改全局范围的函数是反模式的。相反,您需要更改代码的数据访问逻辑,使其变得不必要。