Переформатирование вывода eval в R - PullRequest
0 голосов
/ 28 января 2019

Мне было интересно, может ли быть умный способ сделать так, чтобы вывод eval(x2) стал list точно таким же, как вывод eval(x1) без изменения x2?

PS Моя конечная цель - получить функцию для этого переформатирования выходных данных.

x1 = list(dbinom(1:5, 5, .1), dbinom(1:7, 5, .1))

eval(x1)  ## this list format output is desired


x2 = c(dbinom(1:5, 5, .1), dbinom(1:7, 5, .1))

eval(x2)  ## can make this output to become like that of `eval(x1)`?

1 Ответ

0 голосов
/ 28 января 2019

Мы можем назвать вектор, а затем split?

x2 <- c(a = dbinom(1:5, 5, .1), b = dbinom(1:7, 5, .1))
split(x2, substr(names(x2), 1, 1))

#$a
#     a1      a2      a3      a4      a5 
#0.32805 0.07290 0.00810 0.00045 0.00001 

#$b
#     b1      b2      b3      b4      b5      b6      b7 
#0.32805 0.07290 0.00810 0.00045 0.00001 0.00000 0.00000 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...