【发布时间】:2013-03-07 01:56:48
【问题描述】:
也许这里对 mcmc 对象有更多经验的人可以帮助我。
问题:我有一个存储了 20 多个 mcmc 对象的列表。我需要为每个 mcmc 对象分配变量名。
我有另一个列表,其中包含存储的每个 mcmc 的所有变量名称(作为数据框中的列)。
我可以单独执行此操作,使用 coda 包中的“varnames”函数,如下所示:
“投票”我的数据框列表并“投票”我的 mcmc 对象列表..
names <- votes[[1]]$legis # extracts the names variable for the first dataframe on the list.
varnames(posterior[[1]]) <- names # assings the extracted names as variable names fo the first mcmc object on the list.
但是,我不想一个一个地做这件事,我想一次做完。我试过下面的代码...
p2 <- lapply(posterior, function(x)varnames(posterior[[x]]) <- names)
但我得到 Error in *tmp*[[x]] : Recursive indexing failed at level 2 。我已经尝试了该行的一些变体,但我很难理解如何正确索引它,或者如何做我想做的事情。
我知道这是一个特定的问题,但也许这里有人可以给我一些提示或什么。
提前感谢您的帮助。抱歉,我无法提供一些数据,但很难获得可行的样本。
问候, 费德里科
【问题讨论】:
-
lapply(posterior, function(x) varnames(x) <- names)应该可以工作,否则当 x 已经是posterior[[1]]或后[[2]] 时,您将通过x索引posterior或后[[2]]` -
或
lapply(posterior, setNames, names),我想。 -
Mnel,我已经尝试过你的方法,但我得到了一个模糊的错误。 dimnames(x)[[2]]