w Pythonie, można to zrobić:Pythona jak rozpakowywanie wartości liczbowej w R
>>> a, b, c = (1, 2, 3)
>>> a
1
>>> b
2
>>> c
3
Czy istnieje sposób, aby to zrobić w R, jak poniżej?
> a, b, c = c(1, 2, 3)
w Pythonie, można to zrobić:Pythona jak rozpakowywanie wartości liczbowej w R
>>> a, b, c = (1, 2, 3)
>>> a
1
>>> b
2
>>> c
3
Czy istnieje sposób, aby to zrobić w R, jak poniżej?
> a, b, c = c(1, 2, 3)
Można to zrobić w ramach listy używając [<-
e <- list()
e[c('a','b','c')] <- list(1,2,3)
lub w data.table wykorzystaniem :=
library(data.table)
DT <- data.table()
DT[, c('a','b','c') := list(1,2,3)]
Z obu tych list(), można następnie wykorzystać list2env
, aby skopiować do środowiska globalnego (lub innego)
list2env(e, envir = parent.frame())
a
## 1
b
## 2
c
## 3
Ale nie w ogólnym użyciu tworzenie obiektów w środowisku.
Nice ... nie był świadomy 'list2env' - choć widzę, że jest raczej wykorzystywany niż używany. – thelatemail
Właściwie to nie użyję 'list2env()' - wydaje się raczej hackish i nienaturalne w R - ale odpowiedź jest pouczająca i wszechstronna mimo wszystko. Nauczyłem się także korzystać z list! Dziękuję Ci! – brandizzi
może to wygląda głupio, ale chciałbym to zrobić:
v <- list(a=0,b=0,c=0)
v[] <- c(1,2,3)
v
$a
[1] 1
$b
[1] 2
$c
[1] 3
No nie ma. –