R中的绝对偏差公式
我有一个小问题,我想在R studio中对iris(柱的数据平均值)/绝对偏差的代码使用这个公式。这是我的密码R中的绝对偏差公式,r,deviation,R,Deviation,我有一个小问题,我想在R studio中对iris(柱的数据平均值)/绝对偏差的代码使用这个公式。这是我的密码 y=iris[,1:4] for(i in 1:4){y[, i] = (iris[,i] - mean(iris[,i]))/sd(iris[,i])} y 但是这个代码是针对[(数据-平均每列)/标准偏差每列]我试图得出[(数据-平均每列)/平均绝对偏差每列]的公式,但是这个代码有一个问题 y=iris[,1:4] for(i in 1:4){y[, i] = (iris[,i]
y=iris[,1:4]
for(i in 1:4){y[, i] = (iris[,i] - mean(iris[,i]))/sd(iris[,i])}
y
但是这个代码是针对[(数据-平均每列)/标准偏差每列]我试图得出[(数据-平均每列)/平均绝对偏差每列]的公式,但是这个代码有一个问题
y=iris[,1:4]
for(i in 1:4){y[, i] = (iris[,i] - mean(iris[,i]))/meanAD(iris)}
y
我认为没有问题,但它花费了无法计算的mad。您可以这样做:
(iris[,1:4] - apply(iris[,1:4],2,mean))/apply(iris[,1:4],2,mad)
# > (iris[,1:4] - apply(iris[,1:4],2,mean))/apply(iris[,1:4],2,mad)
# Sepal.Length Sepal.Width Petal.Length Petal.Width
# 1 -0.71624495 -0.13921489 -4.2814103923 -1.9198704978
# 2 4.14287213 1.73504718 -3.7261867290 -0.9629158557
# 3 0.50829624 -2.54700558 -1.3263186294 -5.4376802657
# 4 3.27674035 0.09592757 0.2897098405 -6.4241497669
为什么不直接使用
mad
函数?像这样使用mad(x)?对于虹膜示例:apply(y,2,mad)
。这会将mad应用于mad(iris)
中的每一列(1=行,2=列)。您忘记了子集mad(iris[,i])
。但中值偏差的mad(iris)不是绝对偏差