我有一个很大的数据框架,我使用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
复制相似问题