将函数的输出分配给R中的两个变量

Liz*_*der 6 r

可能重复:
具有多个输出的功能

这似乎是一个简单的问题,但我无法弄清楚,而且我所看过的R手册也没有运气。我想找到dim(x)的,但我想分配dim(x)[1]adim(x)[2]b在一行。

我尝试了[a b] <- dim(x)c(a, b) <- dim(x),但都没有成功。有没有一种方法可以做到这一点?看起来很简单,应该很容易处理。

Mik*_*keZ 1

这可能不是您想要的那么简单的解决方案,但这可以完成工作。如果您需要一次分配多个变量(并且您不知道有多少个值),它在将来也是一个非常方便的工具。

Output <- SomeFunction(x)
VariablesList <- letters[1:length(Output)]
for (i in seq(1, length(Output), by = 1)) {
    assign(VariablesList[i], Output[i])
}
Run Code Online (Sandbox Code Playgroud)

循环并不是 R 中最有效的东西,但我已经多次使用过它。我个人发现它在从条目数量未知的文件夹中收集信息时特别有用。

编辑:在这种情况下,输出可以是任意长度(只要 VariablesList 更长)。

编辑#2:按照 Liz 的建议,更改了 VariablesList 向量以允许更多值。