в R есть простой способ назвать один элемент списка с помощью функции - PullRequest
0 голосов
/ 10 января 2020

Вот упрощенная версия того, что я пытаюсь сделать:

a <- list("1" = 10, as.character(2) = 20)

Я ожидаю, что as.character(2) вернет "2", а a впоследствии:

> a
$`1`
[1] 10

$`2`
[1] 20

Вместо этого я получаю следующую ошибку:

Error: unexpected '=' in "a <- list("1" = 1, as.character(2)[1] ="

Есть ли способ сделать это на одной линии, не возвращаясь по маршруту names(a) <- *namesVector*?

1 Ответ

0 голосов
/ 10 января 2020

Если мы хотим сделать as.character, это можно сделать с помощью dplyr::lst путем оценки (!!) строки при выполнении присваивания (:=)

dplyr::lst("1" = 10, !!as.character(2) := 20)
#$`1`
#[1] 10

#$`2`
#[1] 20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...