如何使用我的 UDF 输入来命名我的输出数据框?
How can I use my UDF input to name my output dataframe?
我正在尝试使用 assign()
函数将我的输入之一用作我创建的 UDF 返回的数据帧的一部分,但它不起作用。没有错误,但在 UDF 中创建的数据框未存储在我的全局环境中。我的代码类似如下:
read_report <- function(id) {
assign(paste0("extract_", id),
read_excel(path =
paste0(path, "_", id, ".xlsx"),
sheet = 1
)
)
}
它在函数之外工作得很好,所以我不确定我做错了什么。例如,当我 运行 read_report(1022) 时,我没有得到名为 extract_1022 的数据框。我也试过把 return(paste0("extract_",id))
放在最后无济于事。
感谢您的帮助!谢谢:)
在assign
中指定环境,因为默认情况下,对象是在函数的本地环境中创建的,无法在函数外部访问。
read_report <- function(id) {
assign(paste0("extract_", id),
readxl::read_excel(path = paste0(path, "_", id, ".xlsx"), sheet = 1),
envir = .GlobalEnv)
}
我正在尝试使用 assign()
函数将我的输入之一用作我创建的 UDF 返回的数据帧的一部分,但它不起作用。没有错误,但在 UDF 中创建的数据框未存储在我的全局环境中。我的代码类似如下:
read_report <- function(id) {
assign(paste0("extract_", id),
read_excel(path =
paste0(path, "_", id, ".xlsx"),
sheet = 1
)
)
}
它在函数之外工作得很好,所以我不确定我做错了什么。例如,当我 运行 read_report(1022) 时,我没有得到名为 extract_1022 的数据框。我也试过把 return(paste0("extract_",id))
放在最后无济于事。
感谢您的帮助!谢谢:)
在assign
中指定环境,因为默认情况下,对象是在函数的本地环境中创建的,无法在函数外部访问。
read_report <- function(id) {
assign(paste0("extract_", id),
readxl::read_excel(path = paste0(path, "_", id, ".xlsx"), sheet = 1),
envir = .GlobalEnv)
}