希望能够清楚地解释我想做什么。
我有一个矩阵
Z<-matrix(sample(1:40),ncol=4)
colnames(Z)<-c("value","A","B","C")
I would like to apply the following formula to each row in the dataset.
Process = value - rowmean (A,B,C)
------------------------------------
row-wise Standard deviation (A,B,C)
我想到了像单独计算所有东西一样的东西
首先对数据进行子集化
onlyABC<-Z[,1:3]
然后将 rowMeans 应用于每一行
means<-apply(onlyABC,1,rowMeans)
并且类似地使用分别计算标准偏差
deviate<-apply(onlyABC,1,SD)
然后我现在不知道如何从“means”中减去矩阵“z”中的值列,然后除以“deviate”。
有没有更简单的方法来做到这一点?
例如,将公式应用于第一行将给出:
row1 32-(19+35+4/3)
--------------
SD(19+35+4)
同样,也将公式应用于其他行,最后得到一个大小为 10 的向量。