首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R表中的平均值或中位数(如excel中的枢轴)

R表中的平均值或中位数(如excel中的枢轴)
EN

Stack Overflow用户
提问于 2022-01-22 15:06:35
回答 2查看 111关注 0票数 -2

我试着从我的数据中拿出一张表,但我不知道该怎么做。这是我的资料。标题是德语的。因为这也是我的德文r码。很抱歉,但我希望有人能帮我解决这个问题。

数据帧

我想把这个输出作为r中的枢轴表,我试着用英文翻译:

excel中的枢轴

在r中,我尝试了不同的方法来获得解决方案(库(Pivottabler)):

这个有点管用,但我不能算出中位数。数行

带有测试中值计算的版本

在这里,我将这个值输入到表没有值的表

我也试过这个。但这不是我想要的输出。由和总结

谢谢你的帮助。毫克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-24 12:40:40

我在R中找到了一种正确获得枢轴的方法,我使用了data.frame "bhmtrains“的库(”透视“)。现在起作用了。谢谢你的想法。

枢轴的结果

代码语言:javascript
复制
library(pivottabler)
qhpvt(bhmtrains, c("=","TOC"), "TrainCategory", 
  c("Mean Speed"="mean(SchedSpeedMPH, na.rm=TRUE)", "Std Dev Speed"="sd(SchedSpeedMPH, na.rm=TRUE)"), 
  formats=list("%.0f", "%.1f"), totals=list("", "TrainCategory"="All Categories"))
票数 0
EN

Stack Overflow用户

发布于 2022-01-22 15:17:57

如果你给我们一个更多的可复制示例,给你一个更适用的答案会更容易。

但是,我认为您想要的是通过dplyr包中的函数很容易地完成。此答案使用内置的iris数据集。它根据分类变量Species进行分组,并按种类计算数据帧中所有数字列的中位数。

代码语言:javascript
复制
library(dplyr)
iris %>%
  group_by(Species) %>%
  summarise(across(where(is.numeric), median))
# A tibble: 3 x 5
  Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
  <fct>             <dbl>       <dbl>        <dbl>       <dbl>
1 setosa              5           3.4         1.5          0.2
2 versicolor          5.9         2.8         4.35         1.3
3 virginica           6.5         3           5.55         2  

若要计算所有数值列的平均值,请在上面的代码有mean的地方使用median

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70814109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档