自定义描述统计 Table 导出

Custom Descriptive Statistics Table Export

我花了几个星期的时间寻找我的问题的解决方案,不仅找到而且创建描述性统计摘要 table 我的数据是 exportable 到 xlsx(理想情况下)。我只找到了部分答案,我在 RR 包中的知识仍然是基本的,足以限制我的进步。我的数据集是时间序列数据,有 6 列,有 50,000 多行。

我的DF信息:

日期时间:POSIXCT 格式"YYYY-MM-DD HH:MM:SS"

Var1: 数量

Var2: 数量

Var3: 数量

Var4:具有 2 个水平的因子 "A","B"

Var5:具有 4 个水平的因子 "S1"、"S2"、"S3"、"S4"

我的目标如下:

  1. 使用 tidyverse 对我的数据进行子集处理我的数据框

  2. 使用子集数据创建 1 个摘要 table(即以 tibble 或 data.frame 格式)和 2 个子因子(Var4 and/or Var5) Var1、Var2 和 Var3。下面是我的目标 table 的简化可视化示例:

  1. 将摘要 table(或摘要 tables,如果一个 table 不可能)导出到 xlxs(理想情况下)、.CSV 或 .TXT 以用于 Excel 用于文体 table 编辑。目前,"writexl" 包对我来说效果很好,因为我在使用 "xlsx" 和 "openxlsx" 包时遇到问题。以下是使用 openxlsx 包导出到 xlsx 所需的代码:write_xlsx(dataframe, path = "C:/Users/user/Desktop")。 MacOS 用户请注意,path = /Users/admin/yoursubfolder/yoursubfolder.....("yoursubfolder" 填写您计算机上的实际文件夹名称)

我做了什么:

由于我无法附上示例数据并且我的编码非常基础,所以我可以想出以下办法:

示例数据:

很遗憾,我无法附上样本数据进行测试。另外由于我对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 方面有更多经验的人提供的任何指导、提示和建议都将不胜感激,因为我喜欢 R 和软件的所有功能,但我觉得很不方便,因为没有简单直接的方法可以在控制台中导出 table 以复制并粘贴到有用的形式,如 Excel 电子表格或 Word 文档,而不是标准的 LaTex 格式导出(顺便说一句,我根本不明白)。我知道这个话题已经在不同的论坛上讨论过了,其他人也和我一样认为它有多糟糕,特别是对于那些需要它来进行数据处理而不是像 Rmarkdown 这样的文档创建的人来说。

你的 df 的一些例子:

library(dplyr)
library(tidyr)

SEM_function <- function(x){sd(x)/sqrt(length(x))}
df %>% as_tibble() %>% 
  gather("Var_num", "value",Var1:Var3) %>% 
  group_by(Var_num, Var4,Var5) %>% 
  summarise("N" = n(), 
          "mean" = mean(value),
          "StDev" = sd(value),
          "SEM" = SEM_function(value) ,
          "min" = min(value),
          "max" = max(value))

希望对您有所帮助