Подтвердить что ты не робот

Создание z-баллов

У меня есть файл данных, состоящий из 57 переменных. Я хочу преобразовать около 12 из них в z-баллы из-за их неравномерного уровня измерения. Я искал интернет-ресурсы и файлы справки. Один интернет-ресурс сообщил, что мне нужен пакет Rbasic (не существует). Я использовал scale(), который, по-видимому, центрировал переменные. Я попробовал V5-mean/st.dev. который принес мне очень странные оценки. Может кто-нибудь, пожалуйста, приложите мне практическое удовольствие?

4b9b3361

Ответ 1

scale() - правильный выбор:

> x <- 1:10
> scale(x)
            [,1]
 [1,] -1.4863011
 [2,] -1.1560120
 [3,] -0.8257228
 [4,] -0.4954337
 [5,] -0.1651446
 [6,]  0.1651446
 [7,]  0.4954337
 [8,]  0.8257228
 [9,]  1.1560120
[10,]  1.4863011
attr(,"scaled:center")
[1] 5.5
attr(,"scaled:scale")
[1] 3.02765
> (x - mean(x)) / sd(x)
 [1] -1.4863011 -1.1560120 -0.8257228 -0.4954337 -0.1651446
 [6]  0.1651446  0.4954337  0.8257228  1.1560120  1.4863011
> mean(x)
[1] 5.5
> sd(x)
[1] 3.02765

Обратите внимание, как атрибуты в объекте, возвращаемые из scale(), являются средним значением и SD входных данных.

Теперь вы не предоставляете реальный код, чтобы показать, как вы вычислили "V5-mean/st.dev", но если бы вы сделали это точно так, то приоритет оператора мог бы вас поймать. Это, например, не возвращает правильные значения z:

> x - mean(x) / sd(x)
 [1] -0.8165902  0.1834098  1.1834098  2.1834098  3.1834098
 [6]  4.1834098  5.1834098  6.1834098  7.1834098  8.1834098

Ответ 2

mu <- mean(myRow) 

sigma   <- sqrt ( var(myRow)  )

myRow <- (myRow - mu )/ sqrt(sigma)

Ответ 3

Просто вы забыли скобки в: x - mean (x)/sd (x)

Правильный код: ( x - средний (x) )/sd (x)