Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算R中的z分数_R - Fatal编程技术网

计算R中的z分数

计算R中的z分数,r,R,我有一个示例数据帧: data<-data.frame(a=c(1,2,3),b=c(4,5,5),c=c(6,8,7),d=c(8,9,10)) 并且得到了这个 row.names V1 V2 V3 a -1.2558275 -1.2649111 -1.0883839 b -0.2511655 -0.3162278 -0.4186092 c 0.4186092

我有一个示例数据帧:

 data<-data.frame(a=c(1,2,3),b=c(4,5,5),c=c(6,8,7),d=c(8,9,10))
并且得到了这个

 row.names     V1            V2          V3
    a      -1.2558275   -1.2649111  -1.0883839
    b      -0.2511655   -0.3162278  -0.4186092
    c       0.4186092    0.6324555   0.2511655
    d       1.0883839    0.9486833   1.2558275
但是,当我尝试手动计算数据帧第一行的z分数时,我得到了以下值:

      -1.45 -0.29  0.4844, 1.25
手动,对于第一行,我计算如下:

1) 计算第一行的行平均值(4.75)

2) 从行平均值中减去每个值(例如:4.75-1,4.75-4,4.75-6,4.75-8)

3) 将每一个差异平方

4) 将它们相加,除以第1行中的样本量

5) 因此,我得到方差(答案=6.685),然后得到第一行的标准偏差(2.58)


6) 然后应用z分数公式。

无论是什么,
zscore
函数似乎与
base
包中的
scale
相同

apply(data, 1, scale)
##            [,1]       [,2]       [,3]
## [1,] -1.2558275 -1.2649111 -1.0883839
## [2,] -0.2511655 -0.3162278 -0.4186092
## [3,]  0.4186092  0.6324555  0.2511655
## [4,]  1.0883839  0.9486833  1.2558275

对于每一列,它都在计算
(x-均值(x))/sd(x)

无论是什么,
zscore
函数似乎与
base
包中的
scale
相同

apply(data, 1, scale)
##            [,1]       [,2]       [,3]
## [1,] -1.2558275 -1.2649111 -1.0883839
## [2,] -0.2511655 -0.3162278 -0.4186092
## [3,]  0.4186092  0.6324555  0.2511655
## [4,]  1.0883839  0.9486833  1.2558275

对于每一列,它都在计算
(x-mean(x))/sd(x)

这是什么
zscore
函数?是你写的东西吗?或者它在一个包裹里?“我能知道哪里出了问题吗?”这是一个非常模糊的问题。您需要指出(1)如何手动计算值,以及(2)如何定义
zscore
。您从应用函数得到的值是正确的(w.r.t.您显示的data.frame),因此我猜错误在于(#1)也许您指的是
scale
函数?请分享你是如何手工计算这些值的。你手工计算的z分数是错误的。这是什么
zscore
函数?是你写的东西吗?或者它在一个包裹里?“我能知道哪里出了问题吗?”这是一个非常模糊的问题。您需要指出(1)如何手动计算值,以及(2)如何定义
zscore
。您从应用函数得到的值是正确的(w.r.t.您显示的data.frame),因此我猜错误在于(#1)也许您指的是
scale
函数?请分享你是如何手工计算这些值的。你手工计算的z分数是错误的。
apply(data, 1, scale)
##            [,1]       [,2]       [,3]
## [1,] -1.2558275 -1.2649111 -1.0883839
## [2,] -0.2511655 -0.3162278 -0.4186092
## [3,]  0.4186092  0.6324555  0.2511655
## [4,]  1.0883839  0.9486833  1.2558275