-1

我有一个小问题,我想在 R studio 中为虹膜(列的数据平均值)/绝对偏差的代码制作这个公式。这是我的代码

y=iris[,1:4]
for(i in 1:4){y[, i] = (iris[,i] - mean(iris[,i]))/sd(iris[,i])}
y

但是此代码适用于 [(data -mean each column)/standard deviasi each column] 我试图达到 [(data -mean each column)/mean absolute deviation each column] 的公式如何,但是此代码存在问题

y=iris[,1:4]
for(i in 1:4){y[, i] = (iris[,i] - mean(iris[,i]))/meanAD(iris)}
y

我认为没有问题,但它的疯狂无法计算。

4

1 回答 1

0

你可以这样做:

(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
于 2020-10-18T14:46:29.423 回答