backtransform`scale()`用于绘图

前端之家收集整理的这篇文章主要介绍了backtransform`scale()`用于绘图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用scale()中心的解释变量,用于预测一个响应变量:
d <- data.frame(
  x=runif(100),y=rnorm(100)
)

d <- within(d,s.x <- scale(x))

m1 <- lm(y~s.x,data=d)

我想绘制预测值,但使用x的原始比例,而不是中心的比例。有没有办法排序反向转换或反向尺度s.x?

谢谢!

解决方法

看一眼:
attributes(d$s.x)

d$s.x * attr(d$s.x,'scaled:scale') + attr(d$s.x,'scaled:center')

例如:

> x <- 1:10
> s.x <- scale(x)
> s.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
> s.x * attr(s.x,'scaled:scale') + attr(s.x,'scaled:center')
      [,]    1
 [2,]    2
 [3,]    3
 [4,]    4
 [5,]    5
 [6,]    6
 [7,]    7
 [8,]    8
 [9,]    9
[10,]   10
attr(,"scaled:scale")
[1] 3.02765

猜你在找的CSS相关文章