我已经检查了问题的答案,而我能找到的最接近的是:Why does plot behave differently for same but scaled data?。我了解原子对象,已经转换为数据框。
我已经加载了一些化学反应数据:
library(car)
theURL <- "http://lib.stat.cmu.edu/datasets/Andrews/T30.1"
theNames <- c("Table", "Number", "Row", "Experiment", "Temperature",
"Concentration", "Time", "Unchanged", "Converted", "Unwanted")
Reaction <- read.table(theURL, header = F , col.names = theNames)
Reaction <- Reaction[-c(1:4)]
然后我绘制一个散点图;实线通过X的平均值和Y的平均值;点处的虚线表示±2SD。也是在±5SD时绘制的Sy / Sx斜率段,因为我无法abline()
来绘制它。
scatterplot(Reaction$Temperature, Reaction$Converted, smooth = FALSE,
regLine = FALSE, grid = FALSE, xlim = c(150, 185), xlab = "Temperature", ylab = "% Converted", main = "Reaction Results", ylim = c(45, 70))
TempMean = mean(Reaction$Temperature)
ConvMean = mean(Reaction$Converted)
TempSD = sd(Reaction$Temperature)
ConvSD = sd(Reaction$Converted)
abline(col = c("red", "green"), v = TempMean, h = ConvMean)
abline(col = "green", lty = "dotted", v = (c(TempMean - 2*TempSD, TempMean + 2*TempSD)))
abline(col = "red", lty = 3, h = (c(ConvMean - 2*ConvSD, ConvMean + 2*ConvSD)))
segments(TempMean - 5*TempSD, ConvMean - 5*ConvSD, TempMean + 5*TempSD, ConvMean + 5*ConvSD)
...现在是大揭露。如果我按比例缩放所有内容,则散点图基本上会做同样的事情。
# Scale Reaction Data
Reaction.scaled <- as.data.frame(scale(Reaction))
# Mean and sd Lines
scatterplot(Reaction.scaled$Temperature, Reaction.scaled$Converted, smooth = FALSE, regLine = FALSE, grid = FALSE, xlab = "Temperature", ylab = "% Converted", main = "Reaction Results")
TempMean = mean(Reaction.scaled$Temperature)
ConvMean = mean(Reaction.scaled$Converted)
TempSD = sd(Reaction.scaled$Temperature)
ConvSD = sd(Reaction.scaled$Converted)
abline(col = c("red", "green"), v = TempMean, h = ConvMean)
abline(col = "green", lty = "dotted", v = (c(TempMean - 2*TempSD, TempMean + 2*TempSD)))
abline(col = "red", lty = 3, h = (c(ConvMean - 2*ConvSD, ConvMean + 2*ConvSD)))
segments(TempMean - 5*TempSD, ConvMean - 5*ConvSD, TempMean + 5*TempSD, ConvMean + 5*ConvSD)
...但是图形未显示(0,0)的缩放平均值。我怀疑这与高级图形功能还是低级图形功能有关。