gpt4 book ai didi

r - 从 .R 文件中获取对象名称

转载 作者:行者123 更新时间:2023-12-05 00:09:57 25 4
gpt4 key购买 nike

我可以从环境中获取 obj_name 列表,但是如何从 .r 文件中获取 obj_name 呢?

我试过 ls 但只能从环境中获取 obj_name,但我需要从 R 文件中获取,例如:

# filename test.R
func_1=function(){...}
func_2=function(){...}
func_3=function(){...}
c_1=R6Class()
#page end

我要获取 test.R的 obj 列表名称。
像这样:
"func_1","func_2","func_3","c_1"

最佳答案

听起来像是 xy 问题。无论如何,您可以解析文件并提取对 <- 的顶级调用的第一个参数。和 = :

na.omit(
sapply(
as.list(
parse(text =
"# filename test.R
func_1=function(){...}
func_2=function(){...}
func_3=function(){...}
c_1=R6Class()
#page end")),
function(x) if (as.character(x[[1]]) %in% c("<-", "=")) as.character(x[[2]]) else NA))
#[1] "func_1" "func_2" "func_3" "c_1"

我假设您不使用 assign或更奇特的赋值形式。如果您需要嵌套在其他函数中的赋值(例如 iffor ),则需要编写一个递归函数来爬行分析树。

关于r - 从 .R 文件中获取对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59245198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com