【发布时间】:2019-05-03 12:48:33
【问题描述】:
我花了几周的时间寻找解决我的问题的方法,我不仅要查找而且要创建可导出到 xlsx 的数据的描述性统计汇总表(理想情况下)。我只找到了部分答案,我在 R 和 R 包中的知识仍然足够基本,足以限制我的进步。我的数据集是包含 6 列、50,000 多行的时间序列数据。
我的DF信息:
日期时间:POSIXCT 格式“YYYY-MM-DD HH:MM:SS”
Var1: 数字
Var2: 数字
Var3: 数字
Var4:具有 2 个级别“A”、“B”的因子
Var5:因子 w/ 4 个级别“S1”、“S2”、“S3”、“S4”
我的目标如下:
使用 tidyverse 操作我的数据框以对我的数据进行子集化
使用子集数据创建 1 个汇总表(即 tibble 或 data.frame 格式),其中包含 Var1、Var2 和 Var3 的 2 个子因子(Var4 和/或 Var5)。下面是我所针对的表格的一个简化的可视化示例:
- 将汇总表(或汇总表,如果无法使用一个表)导出为 xlxs(理想情况下)、.CSV 或 .TXT 以在 Excel 中用于样式表编辑。目前,“writexl”包对我来说效果很好,因为“xlsx”和“openxlsx”包有问题。这是使用 openxlsx 包导出到 xlsx 所需的代码:
write_xlsx(dataframe, path = "C:/Users/user/Desktop")。 MacOS 用户请注意,path = /Users/admin/yoursubfolder/yoursubfolder....(在“yoursubfolder”中填写您计算机上的实际文件夹名称)
我做了什么:
- 使用 dplyr 和 %>% 函数来处理不带和带因子 Var4 或 Var5 的数据
- 尝试创建一个汇总表,其中 Var4 作为 Var1、Var2 和 Var3 的一个因素(部分成功;样式不是我想要的,或者无法导出到 Excel)
- 查看了多个 StackOverflow 问题和 Google 搜索,但没有成功找到适用于我的特定案例的代码。我尝试使用 qwraps2 创建一个并查看以下软件包以获取预先制作的内容:psych、stargazer 和 HMSIC。我不喜欢他们的表格样式,他们也不是都可以选择只显示 N、mean、StDev、SEM、Min 和 Max。
- 我知道 SEM 在大多数软件包中不是标准功能;因此,我从堆栈溢出的答案中借用了这个函数,因为我不知道如何创建函数。这是借来的代码:
SEM <- function(x) sd(x)/sqrt(length(x))
由于我无法附加示例数据并且我的编码非常基础,因此我可以提出以下建议:
示例数据:
很遗憾,我无法附上样本数据进行测试。另外由于我对 R 的了解有限,我无法制作出完美的数据框。下面是一个示例数据框,但我无法让因子均匀分布在它们各自的列中(对不起)。这是我的代码:
df <- data.frame(
"DateTime" = seq(c(ISOdate(2018,03,01)), by = "day", length.out = 100),
"Var1" = rnorm(1:100),
"Var2" = rnorm(1:100),
"Var3" = rnorm(1:100),
"Var4" = c("A", "B"),
"Var5" = c("S1","S2", "S3", "S4"))
我正在尝试这个:
"S1"[(1:25)],
"S2"[(26:50)],
"S3"[(51:75)],
"S4"[(76:100)] # and
"A"[(1:50], "B"[(51:100)] #but that didn't work, so sorry again.
尽管我缺乏适当的编码,但如果我喜欢 R 和所有该软件的功能,但我觉得非常不方便的是,没有简单、直接的方法可以在控制台中导出表格以复制和粘贴到有用的表格中,如 Excel 电子表格或 Word 文档,而不是标准的 LaTex 格式导出(我不顺便说一句,完全理解)。我知道这个话题已经在不同的论坛中讨论过,其他人也分享了我的观点,即它是多么糟糕,尤其是对于那些需要它来进行数据处理而不是像 Rmarkdown 这样的文档创建的人。
【问题讨论】: