R中函数的返回对象中有多个变量。要在多个参数情况下运行它

时间:2019-05-17 14:37:17

标签: r return apply assign

如背景所述,如何从数组中的对象检索输出?

我在R中有一个返回多个变量的函数。例如。如果我的函数称为function_ABC,则:

 a<-function_ABC (input_var)

赋予a使得a$var1a$var2a$var3存在。

我要运行多个案例,然后将它们放入数组中

input_var <- c(1, 2, ...15)

为了存储输出,我声明了var这样:

var <- c(v1, v2, v3, .... v15)

然后我运行:

assign(v1[i],function(input_var(i)))

但是,此后,我无法以v1[1]$var1的身份访问这些变量。我可以通过v1$var1v3$var1等访问它们。但这意味着我需要编写15 * 3命令来检索输出。

有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

  1. 将整个输入集推入数组Arr []。
  2. 打开特定大小N的多线程执行器E。
  3. 在输入数组Arr []上使用for循环,将函数调用作为可调用作业提交给执行者E。在提交每个作业时,将对FutureTask的引用保存在另一个数组FTArr []中。
  4. 执行完所有FutureTask作业后,可以通过在FTArr []上运行另一个for循环来检索每个作业的输出。

注意: •确保在func_ABC中添加同步块,在该块中您正在访问共享资源以避免死锁。 •如果您想了解更多关于倒数锁存器的用法,请参考以下链接。倒计时闩锁可帮助您准确地找出所有子线程是否已完成执行。 https://www.geeksforgeeks.org/countdownlatch-in-java/