В Python, можно сделать следующее:Python, как распаковка числового значения в R
>>> a, b, c = (1, 2, 3)
>>> a
1
>>> b
2
>>> c
3
Есть ли способ сделать это в R, как показано ниже?
> a, b, c = c(1, 2, 3)
В Python, можно сделать следующее:Python, как распаковка числового значения в R
>>> 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
Но не в общем использовании создания объектов в среде.
Ницца ... не знал о 'list2env' - хотя я вижу, что это злоупотребление, а не использование. – thelatemail
На самом деле, я не буду использовать 'list2env()' - он кажется довольно хакерским и неестественным в R, - но ответ поучителен и всеобъемлющий, тем не менее. Кроме того, я узнал, как использовать списки! Спасибо! – brandizzi
может быть, это выглядит глупо, но я не хотел бы сделать это:
v <- list(a=0,b=0,c=0)
v[] <- c(1,2,3)
v
$a
[1] 1
$b
[1] 2
$c
[1] 3
Нет там нет. –