我有一个对象列表(survey::svyciprop的输出),我正在尝试提取它们的属性,以创建一个包含所有结果的数据框。
#example of an object
props_and_cis[[1]]
2.5% 97.5%
var1 0.932 0.826 0.98
我已经弄清楚了如何在单独的列中提取我想要的每个项目:
var <- attr(props_and_cis[[1]],"names")
prop <- as.vector(props_and_cis[[1]])
ci_lower <- attr(props_and_cis[[1]], "ci")[1]
ci_upper <- attr(props_and_cis[[1]], "ci")[2]
我想遍历列表props_and_cis
中的每个对象,并将提取的内容写入 Dataframe ,例如:
tribble(
~variable, ~prop, ~ci_lower, ~ci_upper,
var,prop,ci_lower,ci_upper
)
但我好像不能让它工作。有人能帮忙吗?
预计到达时间:
> dput(props_and_cis[[1]])
structure(c(var1 = 0.932403111115339), var = structure(0.00119910004765771, dim = c(1L,
1L), dimnames = list("as.numeric(var1)", "as.numeric(var1)")), ci = c(`2.5%` = 0.825647967272783,
`97.5%` = 0.975715067477937), class = "svyciprop")
1条答案
按热度按时间fdbelqdn1#
编写一个函数来提取所需的数据。
创建于2023年3月30日,使用reprex v2.0.2
然后
lapply
函数到列表成员,rbind
结果得到一个data. frame。在下面的例子中,我重复了发布数据的例子,所有列表成员彼此相等。创建于2023-03-30带有reprex v2.0.2
数据
创建于2023-03-30使用reprex v2.0.2