Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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中规范化数据时,数字仍然大于1?_R - Fatal编程技术网

为什么在R中规范化数据时,数字仍然大于1?

为什么在R中规范化数据时,数字仍然大于1?,r,R,我想用平均值为零,标准偏差为1.0对R中的数据进行标准化,我使用的是比例函数。我所有的数字都大于零。但当我将它们标准化时,我仍然有这样的数字;100,.... 更奇怪的是,当我绘制密度时,我也有负值的密度 以下是我的数据子集: Tr[1:10,] [1] 1.287161e+01 1.300534e+00 1.140467e+00 7.958636e-01 4.886365e-01 data<-scale(Tr) 有人能帮我解决这个问题吗 评论太长: 我不明白你为什么感到惊讶。你使用

我想用平均值为零,标准偏差为1.0对R中的数据进行标准化,我使用的是比例函数。我所有的数字都大于零。但当我将它们标准化时,我仍然有这样的数字;100,.... 更奇怪的是,当我绘制密度时,我也有负值的密度

以下是我的数据子集:

Tr[1:10,]
 [1] 1.287161e+01 1.300534e+00 1.140467e+00 7.958636e-01 4.886365e-01

data<-scale(Tr)

有人能帮我解决这个问题吗

评论太长:

我不明白你为什么感到惊讶。你使用它的方式,缩放。。。从每个值中减去平均值,并将结果除以标准偏差。因此,任何小于平均值的值都将缩放为负数,任何大于平均值100个标准偏差的值都将缩放为>100或<-100。与均值/标准差相比,您可能有一些非常大的异常值

set.seed(1)
X <- rpois(1000,5)
Z <- scale(X)
par(mfrow=c(1,2))
hist(X)
hist(Z)

考虑发布你的数据和你使用的代码的子集,这样人们就可以复制你的结果。你对向量Tr的意义是什么,向量Tr的最大值是什么,最大值是什么?在向量Tr中?出于好奇,我一直试图创建一个数据集,其中一个X的Z>100,但到目前为止我还无法创建。我想这是可能的。我只是还不能在所有X>0的情况下完成它。这将完成:X