簡體   English   中英

R中尺度函數的統計公式

[英]statistical formula for scale function in R

R中比例的數學公式是什么? 我只是嘗試了以下內容,但它與scale(X)不同

 ( X-colmeans(X))/ sapply(X, sd) 

由於從矩陣/數據幀進行矢量減法的方法是按列而不是按行進行的,因此必須在減法之前先對矩陣/數據幀進行轉置,最后再轉回。 除舍入誤差外,結果與小數位數相同。 這顯然很麻煩,我想這就是為什么要有一個便捷功能的原因。

x <- as.data.frame(matrix(sample(100), 10 , 10))
s <- scale(x)
my_s <- t((t(x) - colMeans(x))/sapply(x, sd))

all(s - my_s < 1e-15)
# [1] TRUE

1)對於每一列,減去其平均值,然后除以其標准偏差:

apply(X, 2, function(x) (x - mean(x)) / sd(x))

2)編寫此代碼的另一種方法非常接近問題中的代碼,如下所示。 此問題與問題之間的主要區別在於,問題的代碼按列循環(在這種情況下不正確),而以下代碼按行循環。

nr <- nrow(X)
nc <- ncol(X)
(X - matrix(colMeans(X), nr, nc, byrow = TRUE)) / 
  matrix(apply(X, 2, sd), nr, nc, byrow = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM