我想知道是否有一种聪明的方法可以使eval(x2)
的输出变成list
就像eval(x1)
的输出而无需更改x2
一样?>
P.S。。我的最终目标是实现此输出格式的功能。
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)`?
答案 0 :(得分:1)
我们可以命名向量,然后命名为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