我有一个很大的数据框架,我使用psych
库中的describeBy
以多种方式进行了总结,如下所示:
library(tidyverse)
library(openxlsx)
library(psych)
.
.
.
# Describe by Region
lst1 <- describeBy(df[QUESTIONS], df[REGION_DESCRIPTOR])
# Describe by Doctor
lst2 <- describeBy(df[QUESTIONS], df[CARE_DESCRIPTOR])
然后,我创建一个新的工作簿
wb = createWorkbook()
并开始尝试编写lst1、lst2……到其中,每个工作表一个项目:
addWorksheet(wb, REGION_DESCRIPTOR)
writeData(wb, REGION_DESCRIPTOR, lst1)
addWorksheet(wb, CARE_DESCRIPTOR)
writeData(wb, CARE_DESCRIPTOR, lst2)
不幸的是,我收到一条错误消息:
Error in as.data.frame.default(x, stringsAsFactors = FALSE) :
cannot coerce class ‘c("psych", "describeBy")’ to a data.frame
如何使用openxlsx
将每个describeBy
对象写入工作表?我尝试过使用writexl
,虽然它可以工作,但我不满意它将describeBy
生成的每个摘要写到不同的工作表中。因为我有将近12个describeBy
,每个都有3-5个类别,这很快就变得笨拙起来。
预先感谢您的帮助
托马斯·菲利普斯
发布于 2020-08-08 00:26:48
从describeBy
输出的对象是一个list
。我们可以将它们rbind
到单个矩阵或data.frame中,这应该是可行的
do.call(rbind, describeBy(mtcars[, 'mpg'], mtcars[, 'vs']) )
https://stackoverflow.com/questions/63305684
复制相似问题