2013-03-02 3 views

ответ

11

Вы можете сделать это в список с помощью [<-

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 

Но не в общем использовании создания объектов в среде.

+0

Ницца ... не знал о 'list2env' - хотя я вижу, что это злоупотребление, а не использование. – thelatemail

+0

На самом деле, я не буду использовать 'list2env()' - он кажется довольно хакерским и неестественным в R, - но ответ поучителен и всеобъемлющий, тем не менее. Кроме того, я узнал, как использовать списки! Спасибо! – brandizzi

3

может быть, это выглядит глупо, но я не хотел бы сделать это:

v <- list(a=0,b=0,c=0) 
v[] <- c(1,2,3) 
v 
$a 
[1] 1 

$b 
[1] 2 

$c 
[1] 3 
Смежные вопросы