我通过WeightIt
平衡了我的种群,我使用cobalt
包中的bal.tab
创建了一个表,其中包含了我平衡的种群的汇总特征。
library(cobalt)
library(WeightIt)
data("lalonde", package = "cobalt")
W.out <- weightit(treat ~ age + educ + race + married + nodegree + re74 + re75,
data = lalonde, estimand = "ATT", method = "ps")
balanced_population <- bal.tab(W.out)
balanced_population
然而,从bal.tab
的结果存储为列表,我怎么能把它保存为表或矩阵,随后作为Excel文件?
我在另一个问题中发现了这个解决方案,但我一直得到一个错误,虽然我正确地安装了包-加上我不知道它是否应该在这种情况下工作:
expss::xl_write_file(table, filename="test.xlsx")
Error in loadNamespace(x) : there is no package called ‘openxlsx’
谁能提供一个解决方案?尽可能简单。我只是想导出结果,这样我就不必每次都复制所有的数字。
balanced.population
是一个命名列表:
names(balanced_population)
[1] "Balance" "Observations" "call"
所以你可以使用访问每个列表元素,例如
balanced.population$Balance
如果使用
检查列表的结构str(balanced.population)
你会看到balanced.population$Balance
是一个10行3列的数据帧。
您的openxlsx
的安装似乎有问题。就我个人而言,当你可以很容易地写入Excel可以导入的CSV文件时,我不会麻烦地写入Excel文件。
write.csv(balanced_population$Balance, "balance_data.csv")