如何在R语言中用循环语句求一列中每24个数的均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在R语言中用循环语句求一列中每24个数的均值相关的知识,希望对你有一定的参考价值。

参考技术A mean_24 <- function(x)
k=NULL
for(i in 24:length(x))
k[i-23]=sum(x[seq(i-23,i)])/24
return(k)
参考技术B r=zeros(1,10); for i=1:10 n=i+5; r(i)=n; m=n*2; end追问

这没看懂。。。。

参考技术C R中计算样本均值的函数及详细使用方法讲解

优美的代码
2018-11-12
样本均值概述

样本均值是统计学中考量一组数据的集中趋势的统计量之一。设X1, X2, ..., Xn是总体X中的一个样本,则统计量样本均值的计算方法如下:

计算样本均值的公式

R中计算样本均值的函数

在R中,mean()函数用于计算样本的均值,其使用格式为:

mean(x, trim=0, na.rm = FALSE, ...)

其中,参数x为计算对象,可以是向量、矩阵、数组或数据框;

trim用于设置计算均值前去掉两端数据的百分比,即计算结尾均值,取值在0~0.5之间;

na.rm为逻辑值,指示是否允许有缺失值(NA)的情况,默认为FALSE(不允许);

...为附加参数。

R中计算样本均值的例子

假设某班级20名学生的英语成绩为88,78,67,69,62,100,73,45,70,60,93,97,84,82,81,73,68,76,77,92。计算其均值。

编写R程序如下:

x<-c(88,78,67,69,62,100,73,45,70,60,93,97,84,82,81,73,68,76,77,92)

mean(x)

结果为76.75。如计算结尾,则:

mean(x,trim=0.05)

则结果是:77.22。

本文完,如你喜欢数据分析及R语言方面的文章,请关注我,我会定期更新有关R方面的内容。

搜索
如何处理excel假空值
样本平均值怎么求
excel处理大量数据方法
十个excel必背公式
样本分析是什么意思
excel100个必背技巧
参考技术D 把年份取出来,按10年分成一组
decade <- ceiling(Temp_m[1] / 10)
names(decade) <- "decade"
#把分组信息合并成原数据框
Temp_m <- cbind.data.frame(Temp_m, decade)
#加载plyr包。
#把Temp_m这个数据框中除year列的数据外,按照decade分组分别把每列求算术平均值。
#并放在Temp_mean10数据框中。
#Temp_mean10含有decade信息,进行索引时需要注意。
library(plyr)
Temp_mean10 <- ddply(Temp_m[-1], .(decade), colwise(mean))
第5个回答  2018-05-24 为什么要用循环语句,用apply(data,2,mean)追问

想问一下,2是什么呀?不是每24个值求均值吗?

追答

2是按列的意思

如何计算python中每一列中缺失的数据?

【中文标题】如何计算python中每一列中缺失的数据?【英文标题】:How to count missing data in each column in python? 【发布时间】:2019-03-22 17:59:15 【问题描述】:

我有一个包含 85 列的大型数据框。缺失的数据已编码为NaN。我的目标是获取每列中缺失数据的数量。所以我写了一个 for 循环来创建一个列表来获取金额。但它不起作用。

以下是我的代码:

headers = x.columns.values.tolist() 
nans=[]
for head in headers:
    nans_col = x[x.head == 'NaN'].shape[0]
    nan.append(nans_col)

我尝试使用循环中的代码通过将head 更改为该列的名称来生成特定列的缺失值数量,然后代码工作并给了我该列中缺失数据的数量。

所以我不知道如何更正 for 循环代码。有人能帮我解决这个问题吗?我非常感谢您的帮助。

【问题讨论】:

您已经将该条目与字符串'NaN 进行了比较,这甚至不是您需要的数据类型。查找isnan 函数以及一般情况下如何检测NaN 值。 @Prune 感谢您的 cmets!我将丢失的数据编码为 np.nan。然后 isnull() 用于查找丢失的数据。 【参考方案1】:

只需使用Dataframe.info,非空计数可能就是您想要的等等。

>>> pd.DataFrame('a':[1,2], 'b':[None, None], 'c':[3, None]) \
.info(verbose=True, null_counts=True)

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   a       2 non-null      int64    
 1   b       0 non-null      object
 2   c       1 non-null      float64
dtypes: float64(1), int64(1), object(1)
memory usage: 176.0+ bytes

【讨论】:

如果您收到'Series' object has no attribute 'info' 的单列,试试这个df['a'].isna().sum()【参考方案2】:
#function to show the nulls total values per column
colum_name = np.array(data.columns.values)
def iter_columns_name(colum_name):
  for k in colum_name:
    print("total nulls =".format(k),pd.isnull(data[k]).values.ravel().sum())

#call the function
iter_columns_name(colum_name)

#outout
total nulls start_date= 0
total nulls end_date= 0
total nulls created_on= 0
total nulls lat= 9925
.
.
.

【讨论】:

这可以在没有 df 循环、使用 shade 和 count 或 isnull 的情况下完成【参考方案3】:

这会为您提供缺失值的计数(按列名)(打印为 True 后跟计数)

missing_data = df.isnull()
for column in missing_data.columns.values.tolist():
    print(column)
    print(missing_data[column].value_counts())
    print("")

【讨论】:

【参考方案4】:

如果有多个数据框 下面是用百分比计算每列中缺失值数量的函数

缺失数据分析

def miss_data(df):
    x = ['column_name','missing_data', 'missing_in_percentage']
    missing_data = pd.DataFrame(columns=x)
    columns = df.columns
    for col in columns:
        icolumn_name = col
        imissing_data = df[col].isnull().sum()
        imissing_in_percentage = (df[col].isnull().sum()/df[col].shape[0])*100
        
        missing_data.loc[len(missing_data)] = [icolumn_name, imissing_data, imissing_in_percentage]
    print(missing_data) 

【讨论】:

偶然发现了这个功能,正在寻找类似的东西,对我不起作用。【参考方案5】:

对于 pandas(python 数据分析库)中的列,您可以使用:

In [3]: import numpy as np
In [4]: import pandas as pd
In [5]: df = pd.DataFrame('a':[1,2,np.nan], 'b':[np.nan,1,np.nan])
In [6]: df.isnull().sum()
Out[6]:
a    1
b    2
dtype: int64

对于单列或序列,您可以计算缺失值,如下所示:

In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: s = pd.Series([1,2,3, np.nan, np.nan])

In [4]: s.isnull().sum()
Out[4]: 2

Reference

【讨论】:

以上是关于如何在R语言中用循环语句求一列中每24个数的均值的主要内容,如果未能解决你的问题,请参考以下文章

如何计算python中每一列中缺失的数据?

MATLAB中如何构造一个矩阵,该矩阵中每一列个数不等

利用pandas和numpy计算表中每一列的均值

Oracle 如何判断2列中的最大值

SQL课堂笔记--聚合函数

c语言如何求一个数的阶乘