2013-03-02 25 views

Trả lời

11

Bạn có thể làm điều này trong một danh sách sử dụng [<-

e <- list() 

e[c('a','b','c')] <- list(1,2,3) 

Hoặc trong một data.table sử dụng :=

library(data.table) 
DT <- data.table() 
DT[, c('a','b','c') := list(1,2,3)] 

Với cả hai (danh sách), sau đó bạn có thể sử dụng list2env để sao chép sang môi trường toàn cầu (hoặc một số khác)

list2env(e, envir = parent.frame()) 

a 
## 1 
b 
## 2 
c 
## 3 

Nhưng không phải trong việc sử dụng chung các đối tượng tạo trong môi trường.

+0

Nice ... không nhận thức được 'list2env' - mặc dù tôi có thể thấy nó bị lạm dụng hơn là sử dụng. – thelatemail

+0

Trên thực tế, tôi sẽ không sử dụng 'list2env()' - nó có vẻ khá đáng sợ và không tự nhiên trong R - nhưng câu trả lời là hướng dẫn và toàn diện dù sao. Ngoài ra, tôi đã học cách sử dụng danh sách! Cảm ơn bạn! – brandizzi

3

có lẽ có vẻ ngu ngốc, nhưng tôi sẽ làm điều này:

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

$b 
[1] 2 

$c 
[1] 3 
Các vấn đề liên quan