从数据框创建汇总统计表

2023-12-12

我有以下 5 个变量的 29 个观察值的数据框 (df):

    age   height_seca1 height_chad1 height_DL weight_alog1
1   19         1800         1797       180           70
2   19         1682         1670       167           69
3   21         1765         1765       178           80
4   21         1829         1833       181           74
5   21         1706         1705       170          103
6   18         1607         1606       160           76
7   19         1578         1576       156           50
8   19         1577         1575       156           61
9   21         1666         1665       166           52
10  17         1710         1716       172           65
11  28         1616         1619       161           66
12  22         1648         1644       165           58
13  19         1569         1570       155           55
14  19         1779         1777       177           55
15  18         1773         1772       179           70
16  18         1816         1809       181           81
17  19         1766         1765       178           77
18  19         1745         1741       174           76
19  18         1716         1714       170           71
20  21         1785         1783       179           64
21  19         1850         1854       185           71
22  31         1875         1880       188           95
23  26         1877         1877       186          106
24  19         1836         1837       185          100
25  18         1825         1823       182           85
26  19         1755         1754       174           79
27  26         1658         1658       165           69
28  20         1816         1818       183           84
29  18         1755         1755       175           67

我希望获得每个变量的平均值、标准差、中值、最小值、最大值和样本大小,并获得作为数据框的输出。我尝试使用下面的代码,但是对于我来说,它变得不可能使用,并且使用 tapply 或aggregate 似乎超出了我作为 R 新手程序员的范围。我的作业要求我不要使用任何“额外”的 R 包。

apply(df, 2, mean)
apply(df, 2, sd)
apply(df, 2, median)
apply(df, 2, min)
apply(df, 2, max)
apply(df, 2, length)

理想情况下,输出数据框应如下所示,包括每个统计函数的行标题:

             age height_seca1 height_chad1    height_DL weight_alog1 
mean          20         1737         1736          173           73
sd            3.3         91.9         92.7          9.7         14.5 
median        19         1755         1755          175           71
minimum       17         1569         1570          155           50 
maximum       31         1877         1880          188          106
sample size   29           29           29           29           29 

任何帮助将不胜感激。


尝试用basicStats来自 fBasics 包

> install.packages("fBasics")
> library(fBasics)
> basicStats(df)
                   age height_seca1 height_chad1   height_DL weight_alog1
nobs         29.000000    29.000000    29.000000   29.000000    29.000000
NAs           0.000000     0.000000     0.000000    0.000000     0.000000
Minimum      17.000000  1569.000000  1570.000000  155.000000    50.000000
Maximum      31.000000  1877.000000  1880.000000  188.000000   106.000000
1. Quartile  19.000000  1666.000000  1665.000000  166.000000    65.000000
3. Quartile  21.000000  1816.000000  1809.000000  181.000000    80.000000
Mean         20.413793  1737.241379  1736.482759  173.379310    73.413793
Median       19.000000  1755.000000  1755.000000  175.000000    71.000000
Sum         592.000000 50380.000000 50358.000000 5028.000000  2129.000000
SE Mean       0.612910    17.069018    17.210707    1.798613     2.700354
LCL Mean     19.158305  1702.277081  1701.228224  169.695018    67.882368
UCL Mean     21.669282  1772.205677  1771.737293  177.063602    78.945219
Variance     10.894089  8449.189655  8590.044335   93.815271   211.465517
Stdev         3.300619    91.919474    92.682492    9.685828    14.541854
Skewness      1.746597    -0.355499    -0.322915   -0.430019     0.560360
Kurtosis      2.290686    -1.077820    -1.086108   -1.040182    -0.311017

您还可以对输出进行子集化以获得您想要的结果:

> basicStats(df)[c("Mean", "Stdev", "Median", "Minimum", "Maximum", "nobs"),]
              age height_seca1 height_chad1  height_DL weight_alog1
Mean    20.413793   1737.24138   1736.48276 173.379310     73.41379
Stdev    3.300619     91.91947     92.68249   9.685828     14.54185
Median  19.000000   1755.00000   1755.00000 175.000000     71.00000
Minimum 17.000000   1569.00000   1570.00000 155.000000     50.00000
Maximum 31.000000   1877.00000   1880.00000 188.000000    106.00000
nobs    29.000000     29.00000     29.00000  29.000000     29.00000

另一种选择是您定义自己的函数,如下所示这个帖子.

Update:

(我没有阅读“我的作业要求我不使用任何‘额外’R 包。”部分)

正如我之前所说,您可以定义自己的函数并使用以下方法循环每一列*apply家庭职能:

my.summary <- function(x,...){
  c(mean=mean(x, ...),
    sd=sd(x, ...),
    median=median(x, ...),
    min=min(x, ...),
    max=max(x,...), 
    n=length(x))
}

# all these calls should give you the same results.
apply(df, 2, my.summary)
sapply(df, my.summary)
do.call(cbind,lapply(df, my.summary))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从数据框创建汇总统计表 的相关文章

  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何从pandas中的多列计算多列

    我正在尝试使用函数从 pandas 数据框中的多个列计算多个列 该函数采用三个参数 a b 和 c 并返回三个计算值 sum prod 和 quot 在我的 pandas 数据框中 我有三个列 a b 和 c 我想从中计算列 sum pro
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以
  • R - tidyr - 变异并传播多列

    我在 R 中有以下数据框 my df test lt data frame V1 c 1 2 1 V2 c A B A V3 c S1 S1 S2 V4 c x x x V5 c y y y V6 c A B C V7 c D E F my
  • 从“parallel”包中的非基础 R 包调用函数,而无需在函数中将它们库化

    假设我正在尝试运行以下代码 library gregmisc library parallel myfunction lt function x combinations 10 x 1 10 cl lt makeCluster getOpt
  • 2 列 pandas 上的地图

    我有一个数据框 如下所示 Col1 Col2 0 A PY 1 B PA 2 C PB 3 B PB 以及这个系列 Value Col1 Col2 A PY 20 B PB 30 我想做一个映射 如果该系列有一个索引 仅前 Col1 那么它
  • R Tidytext 和 unnest_tokens 错误

    对 R 非常陌生 已经开始使用 tidytext 包 我正在尝试使用参数来填充unnest tokens函数 这样我就可以进行多列分析 所以而不是这个 library janeaustenr library tidytext library
  • 使用许多特殊字符将 R 连接到 HANA 数据库时出现问题

    我在将 HANA 数据读入 R 时遇到问题 我已通过以下方式建立了连接 ch lt odbcConnect HANA uid USER pwd PW 并确认我已通过以下方式连接 sqlTables ch 这会调出我的表格列表 对我想要拉取的
  • ggplot2 可视化/显示中的地图错误?

    正如您在下面看到的 我使用 ggplots 制作的地图上存在一个奇怪的显示问题 任何投影似乎都会发生同样的问题 这是代码 仅包maps and ggplot2需要 mapWorld lt borders world colour gray5
  • 使用 R 交互式更改 Plotly 图像中的轴刻度(线性/对数)

    Goal 创建交互式下拉菜单 按钮来更新 R 中 Plotly 图形的轴比例 Issue 有很多关于创建的文档buttons https plot ly r custom buttons and 对数图 https plot ly r lo
  • 如何一次导入多个 .csv 文件?

    假设我们有一个包含多个 data csv 文件的文件夹 每个文件包含相同数量的变量 但每个文件来自不同的时间 R 中有没有办法同时导入它们 而不必单独导入它们 我的问题是 我有大约 2000 个数据文件需要导入 并且必须使用以下代码单独导入
  • 使用 purrr、broom 从许多单变量模型中获得整洁的输出

    我有一个由二进制结果列组成的数据框 y 和多个独立的预测列 x1 x2 x3 我想运行许多单变量逻辑回归模型 例如y x1 y x2 y x3 并将每个模型的指数系数 比值比 95 置信区间和 p 值提取到数据框 标题的行中 在我看来 使用

随机推荐