1

例如,我有 2 个变量a并且b(在我的实际情况中实际上超过 2 个),我可以像Pythonc(a,b)<-c(0,0)中的元组一样为它们分配值吗?谢谢你。

4

2 回答 2

2

没有内置的方法来做到这一点-您要查找的内容与listsand非常vectors相似R-而不是回调a, b, and c,而是回调a[1], a[2], and a[3]。如果能够通过单独的名称回调此值并能够从同一行分配它们对您很重要,您可以创建一个简单的函数:

Assign <- function(Names, Values) {
             for(i in 1:length(Names)){
                  assign(Names[i], Values[i], envir=.GlobalEnv)
             }}

>A <- c("a", "b", "c", "d")
>B <- c(0,4,2,3)
>Assign(A,B)
>c
#[1] 2

我想不出一种方法让apply家人解决这个问题而不让它变得太复杂——也许有人可以帮助我。

于 2012-11-12T18:55:25.710 回答
1

您可以按照this question%=%中的说明使用(您必须复制并粘贴四个功能)

# Example Call;  Note the use of g()  AND  `%=%`
#     Right-hand side can be a list or vector
g(a, b, c)  %=%  list("hello", 123, list("apples, oranges"))

# Results: 
> a
[1] "hello"
> b
[1] 123
> c
[[1]]
[1] "apples, oranges"
于 2012-11-13T00:04:07.787 回答