我目前有一个用R编写的基本脚本,它有两个嵌入另一个的函数:
FunctionA <- Function() {
results_from_B <- FunctionB()
results_from_C <- FunctionC()
}
功能B生成一些数据,然后在功能C中进行分析。
如果我在函数A中停止代码,我可以看到results_from_C
的结构 - 它出现在'values'下面,我可以使用语法results_from_C$column_name1
引用不同的元素。
我在Function C中通过使用:
指定返回值来实现这一点return(list(column_name_1 = value1, column_name_2 = value2)
但是,我无法弄清楚如何从函数A返回这些相同的值(在相同的结构中) - 我尝试的所有内容都返回一个格式为'Data'而不是'Values'的列表,并且无法使用语法results_from_A$column_name1
。
任何人都可以帮助我理解我需要做什么才能从函数A之外的函数C中提取结果吗?
提前致谢
答案 0 :(得分:1)
我不明白格式化为&#39;数据&#39;的含义。而不是&#39;值&#39; 。 您描述的设置没有任何问题,我时不时地使用函数内部的函数,它完全没问题。
(请注意,R
区分大小写,function
不是Function
。)
FunctionA <- function() {
FunctionB <- function() 1:2*pi
FunctionC <- function(x)
list(column_name_1 = x[1], column_name_2 = x[2])
results_from_B <- FunctionB()
results_from_C <- FunctionC(results_from_B)
results_from_C
}
result <- FunctionA()
result
$column_name_1
[1] 3.141593
$column_name_2
[1] 6.283185
result$column_name_1
[1] 3.141593
这是吗?如果没有,请澄清你的问题。