2

如何在 R 中绘制观察到的与预测的散点图?我还想在其中显示回归线。

library(car)
summary(Prestige)
head(Prestige)
testidx <- which(1:nrow(Prestige)%%4==0)
prestige_train <- Prestige[-testidx,]
prestige_test <- Prestige[testidx,]

model <- glm(prestige~., data=prestige_train)
# Use the model to predict the output of test data 
prediction <- predict(model, newdata=prestige_test)
# Check for the correlation with actual result
plot(prediction, prestige_test$prestige)

编辑:

abline(model)

上述功能abline似乎不起作用。它确实画了一条线,但似乎不正确。

谢谢

4

1 回答 1

2

当哈德利·威克姆(Hadley Wickham)有一个更漂亮(而且可能更明智)的解释时,我认为我没有太多需要完整地写出答案。可在此处(第一部分)和此处(第二部分,更高级的部分)找到。

编辑:我很抱歉从一开始就没有给出更具体的答案。这里是如何制作情节的:

# define training sample
sample <- sample(nrow(Prestige),40,replace=FALSE)

training.set <- Prestige[sample,]
test.set <- Prestige[-sample,]
model <- glm(prestige ~ .,data=training.set)
# getting predicted values
test.set$predicted <- predict(model,newdata=test.set)

# plotting with base plot 
with(test.set,plot(prestige,predicted))
# plotting with ggplot2
require(ggplot2)
qplot(prestige,predicted,data=test.set)

希望这能回答你的问题。

PS这个问题确实更适合SO,它会在几分钟内得到回答:)

于 2013-04-25T20:27:57.093 回答