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

数值不限值的数据帧中列的均值和标清

秦承安
2023-03-14

我试图计算数据中几列(第一列除外)的平均值和标准差。具有<code>NA<code>值的帧。

我试过< code>colMeans、< code > sappy 等。,创建一个循环,遍历data.frame,然后将平均值和标准偏差存储在一个单独的表中,但不断得到一个“有趣的”错误。任何帮助都是巨大的。谢谢

一个

共有3个答案

高茂
2023-03-14

下面的示例代码可能会很有用。

# Create a 5 column dataframe that contains some NAs
col1 <- c(1,2,3,4,5)
col2 <- c(6,7,8,9,10)
col3 <- c(11,12,13,14,NA)
col4 <- c(16,NA,18,19,20)
col5 <- c(21,22,23,24,NA)
dataframe <- data.frame(col1,col2,col3,col4,col5)

# Apply the mean() function to all but the first column of the dataframe
apply(dataframe[,2:ncol(dataframe)], 2, function(x) mean(x, na.rm=TRUE))

# Check that the returned values are correct:
mean(col2)
mean(col3, na.rm=TRUE)
mean(col4, na.rm=TRUE)
mean(col5, na.rm=TRUE)

对于标准偏差,将mean()替换为sd()

柯天宇
2023-03-14

您应该使用的函数(例如< code>colMeans)几乎都有一个名为< code>na.rm的参数,默认为< code>FALSE。只要做< code>colMeans(x = your_df,na.rm = TRUE)就可以了。如果您想逐列进行,那么只使用< code>mean()也是一样。

邴兴为
2023-03-14
sapply(df, function(cl) list(means=mean(cl,na.rm=TRUE), sds=sd(cl,na.rm=TRUE)))
      col1     col2     col3     col4     col5    
means 3        8        12.5     18.25    22.5    
sds   1.581139 1.581139 1.290994 1.707825 1.290994

as.data.frame( t(sapply(df, function(cl) list(means=mean(cl,na.rm=TRUE), 
                                              sds=sd(cl,na.rm=TRUE))) ))
     means      sds
col1     3 1.581139
col2     8 1.581139
col3  12.5 1.290994
col4 18.25 1.707825
col5  22.5 1.290994
 类似资料:
  • 我使用Spark sql dataframes执行groupby操作,然后计算每组数据的平均值和中值。原始数据量约为1 TB。 当我运行该查询时,我的工作被卡住,无法完成。如何调试该问题?是否存在导致groupby()卡滞的按键不平衡?

  • 本文向大家介绍如何找到R数据帧中所有值的均值?,包括了如何找到R数据帧中所有值的均值?的使用技巧和注意事项,需要的朋友参考一下 如果数据框具有所有数字列,那么我们可能有兴趣查找该数据框中所有值的均值,但是由于数据框对象不是数字,因此无法直接完成此操作。因此,要查找R数据帧中所有值的均值,我们需要先将其转换为矩阵,然后使用均值函数。 示例 请看以下数据帧- 输出结果 使用均值函数查找均值- 示例 输

  • 定义一个int型的一维数组,包含10个元素,赋一些随机整数 然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。 思路说明 本问题是一个普通的对整数数组的操作,在下面的Python解决方法中,主要是尝试了python的一个内置函数reduce。 解决(Python) #! /usr/bin/env python #coding:utf-8 from __future__ import di

  • 我有一组数据框,每个数据框具有不同的列名称,例如 看起来像 < code>frameTwo是 如何在不明确说明列名称的情况下计算整个帧的平均值和标准偏差?

  • 用其他dataframe的列值替换dataframe的一列中的nan值时出现问题。下面是一个测试示例: 我想用其他dataframe中的特定值替换列名中的Nan值(如果其中有一些Nan值,则不是其他列),例如此dataframe中的Name2值: 我想得到的是: 这是此示例的测试代码: 然后我尝试了这三种方法,但都不起作用——我的数据帧始终保持Nan值。 你能告诉我哪里出错了吗?

  • 我有两个不同大小的数据帧,我想对四个不同列中的所有值进行比较(两组) 基本上,我希望看到df1['A']==df2['A'] 我的实际数据帧要大得多(120000行数据,A列的值从1到700,B列的值从1到300),所以我知道这可能是一个更长的过程。