我正在 R 中创建一些列联表/交叉表,我想将其移动到 Excel 以在 Word 文档中使用。我发现了关于如何在几个问题中表现出色的讨论-如何将多元预测结果从 R 导出到 Excel https://stackoverflow.com/questions/37844276/how-to-export-multivariate-forecast-results-from-r-to-excel
将数据从 R 导出到 Excel https://stackoverflow.com/questions/19414605/export-data-from-r-to-excel。但列联表的格式(使用基本 R 或 descr 或 gmodels 等包)似乎不能很好地转换为 Excel。
我想出了自己的解决方案,它产生了我想要的东西,但我想知道是否有更有效的方法,例如我正在忽略的一个包。
library(xlsx)
test.data <- as.data.frame(matrix(sample.int(2,size = 10*2, TRUE), nrow = 10, ncol = 2))
out1 <- table(test.data$V1, test.data$V2)
out.p <- prop.table(out1,2)
out.d <- as.data.frame.matrix(out1)
out.pd <- round(as.data.frame.matrix(out.p),2)
colnames(out.d) <- c("No", "Yes")
colnames(out.pd) <- c("No", "Yes")
out.d1 <- paste(out.d$No, " (",out.pd$No,")",sep="")
out.d2 <- paste(out.d$Yes," (",out.pd$Yes,")", sep="")
out2 <- cbind(out.d1,out.d2)
toadd.r <- c("No","Yes")
out2 <- cbind(toadd.r,out2)
sig <- unlist(summary(table(test.data$V1,test.data$V2)))
sig <- rep(round(sig[6],2),nrow(out2))
out2 <- cbind(out2, sig)
colnames(out2) <- c("Outcome","No","Yes","sig")
write.xlsx(out2, file ="Output.xlsx", sheetName = "Test1")