Наименование списка из элемента в другом списке - PullRequest
2 голосов
/ 23 сентября 2011

Это, наверное, очень легко, но я не могу решить свою проблему. Приведенный ниже код возвращает ошибку:

person = c("name", "surname")
list(person[1]= "John")

Error : '=' unexpected in "list(person[1]="

Я бы хотел вернуть:

$name
[1] "John"

Может ли StackOverflow помочь мне с этим?

Ответы [ 2 ]

6 голосов
/ 23 сентября 2011

Возможно, будет полезно следующее:

> p <- list("John", "Smith")
> names(p) <- c("name", "surname")
> p
$name
[1] "John"

$surname
[1] "Smith"
2 голосов
/ 23 сентября 2011

Поскольку вы, похоже, пытаетесь получить доступ к элементу списка через именованную переменную, это может быть тем, что вам нужно. Это почти то же самое, что и ответ AIX, но по другому маршруту.

person = c("name", "surname")

Создайте пустой список, который может оказаться неэффективным, если вы увеличите список позже.

x <- list()

Теперь присвойте значения этому списку через значения "person".

x[person[1]] <- "John"

x[person[2]] <- "Smith"

x

$name
[1] "John"

$surname
[1] "Smith"

Не думаю, что это действительно сильно поможет, если вы хотите продолжать расширять список, но это может помочь вам увидеть, как эти вещи работают немного лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...