在 Python 中,可以这样做:
>>> a, b, c = (1, 2, 3)
>>> a
1
>>> b
2
>>> c
3
有没有办法在 R 中做到这一点,如下所示?
> a, b, c = c(1, 2, 3)
在 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
但一般不用于在环境中创建对象。
也许它看起来很愚蠢,但我会这样做:
v <- list(a=0,b=0,c=0)
v[] <- c(1,2,3)
v
$a
[1] 1
$b
[1] 2
$c
[1] 3