当前位置: 首页 > 知识库问答 >
问题:

r计算同名列的均方差

蒋阳华
2023-03-14

我有一个简短的问题

我有一个数据帧,有许多测量列。我想计算具有相同(标题)名称的列的平均值。我使用下面的代码(在stackoverflow中找到)。。

如何计算数据帧中具有相同列名的列的平均值

作为示例数据...

df <- data.frame(c(1, 2, 3, 4,5),
                 c(2, 3, 4,NA,2),
                 c(3, 4, 5,3,6),
                 c(3, 7, NA,3,6))
names(df) <- c("a", "b", "a", "b")

df <- sapply(split.default(df, names(df)), rowMeans, na.rm = TRUE) 

结果是这样的。。。

a    b
2    2.5
3    5
4    4
3.5  3
5.5  4

这段代码告诉我具有相同(标题)名称的列的含义。

但是我也想要均方差。我试着用rowSds替换rowMeans,但是不起作用。

知道如何使用相同的代码来计算均方差吗??

共有3个答案

曾骁
2023-03-14

这是一个用户定义的函数,可能会有用。你可能想看看:

rowVars

翟曦
2023-03-14

这应该行得通:

df <- data.frame(c(1, 2, 3),
                 c(2, 3, 4),
                 c(3, 4, 5))
names(df) <- c("a", "b", "a")


sapply(split.default(df, names(df)), function(smaller_df) {
  sapply(smaller_df, function(col) c(mean(col), sd(col)))
})

第一个应用程序适用于通过拆分生成的每个 data.frame,每个应用程序将对应于具有相同名称的一组列。第二个应用适用于每列。

如果您想获得具有给定名称的列中所有测量值的均值和均方差,而不是作为单独的样本,您可以将内部sapplication更改为:

sapply(list(unlist(smaller_df)), function(col) c(mean(col), sd(col)))
秦宁
2023-03-14

基于你之前的方法的一个想法是做以下事情

sapply(split.default(df, names(df)), function(x) apply(x, 1, sd, na.rm=TRUE))
#              a         b
# [1,] 1.4142136 0.7071068
# [2,] 1.4142136 2.8284271
# [3,] 1.4142136        NA
# [4,] 0.7071068        NA
# [5,] 0.7071068 2.8284271

请记住,之所以返回 NA,是因为不应在大小为 1 的样本上评估 sd

 类似资料:
  • 这就是我的问题:我有一些代码从29个excel文件中提取一些数据,并将标记为“sw”的任何内容组织到一个变量中,将标记为“rep”的所有内容组织到另一个变量中: 然后我想找出这些文件的平均值和标准偏差,除非我使用了平均值(sw),它告诉我“参数不是数字或逻辑的:返回NA”。如果我打开“sw”或“rep”,我会得到如下结果: $

  • 我有一个数据文件如下例,但大得多 我必须计算Y1和Y2的每个3个相同名称(第一列)的平均值。然后分别用Y1和Y2的每个名称的平均值制作一个条形图。因此,在x轴上,我将有名称,在y轴上将有平均值。任何人都可以帮我吗?

  • 我有一个由66个变量的10299个观测值组成的数据框。其中一些变量共享一个通用的列名,我想计算每个观测值的这些变量的平均值。 具有以下矩阵,列名: 我想得到: 我尝试了循环,命令,但没有得到所需的结果。 抱歉,如果这个问题看起来太基本了,我已经在谷歌上查过可能的解决方案,但没有找到任何解决方案。

  • 本文向大家介绍python计算一个序列的平均值的方法,包括了python计算一个序列的平均值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python计算一个序列的平均值的方法。分享给大家供大家参考。具体如下: 如果序列是数组或者元祖可以简单使用下面的代码 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我有一个表,其中包含一列要从中提取信息的JSON数据。具体来说,我只想获取平均值。 我所拥有的例子: 我想要的例子: 关于如何使该查询正常工作的任何建议? 问题答案: 您的json数组被弄乱了,就像@poszcommented一样。必须是: 您的查询也以多种方式扭曲。在第 9.3 页中将像这样工作: SQL提琴。 在即将到来的pg 9.4中, 我们可以使用新的来简化操作(转换中也不太容

  • 问题内容: 我正在尝试使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它无法正常工作。假设用户输入7、4和5,该程序在应显示5.3时显示平均值。 代码有什么问题? 问题答案: 当您拥有增强的for循环时,为什么还要对索引使用笨拙的for循环?