这个问题在这里已经有了答案:
Assign multiple new variables on LHS in a single line
(14 个回答)
Can I assign variables in batch? [duplicate]
(2 个回答)
8年前关闭。
在 Python 中,可以这样做:
>>> a, b, c = (1, 2, 3)
>>> a
1
>>> b
2
>>> c
3
有没有办法在 R 中做到这一点,如下所示?
> a, b, c = c(1, 2, 3)
最佳答案
您可以使用 [<-
在列表中执行此操作
e <- list()
e[c('a','b','c')] <- list(1,2,3)
或者在 data.table 中使用
:=
library(data.table)
DT <- data.table()
DT[, c('a','b','c') := list(1,2,3)]
有了这两个(列表),你就可以使用
list2env
复制到全局(或其他)环境list2env(e, envir = parent.frame())
a
## 1
b
## 2
c
## 3
但不是在一般情况下在环境中创建对象。
关于r - R 中类似 Python 的数值解包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15170394/