首页 > 解决方案 > R Markdown 中的统计结果与 Knit 输出不同(所有格式:Word、HTML、PDF)

问题描述

我正在将 R Markdown 文件中的结果编织成 PDF/HTML/Word。输出到 PDF/HTML/Word 后,R 中显示的统计结果会有所不同。3 格式的结果相同:0.75。它与 R 中的结果不同:0.64。

代码在 R Notebook 中。Knit 输出错误。所以我将代码复制并粘贴到 R Markdown 文件中。

我尝试将 Knit 转换成 HTML、WORD 和 PDF 格式,代码如下。

library(caret)
library(AppliedPredictiveModeling)
set.seed(3433)
data(AlzheimerDisease)
adData <- data.frame(diagnosis, predictors)
inTrain <- createDataPartition(adData$diagnosis, p=3/4)[[1]]
train <- adData[inTrain,]
test <- adData[-inTrain,]
IL<-grep("^[Ii][Ll].*", names(train))

newtrain<-train[,c(names(train)[IL], "diagnosis")]
newtest<-test[,c(names(test)[IL], "diagnosis")]

nonPCA<-train(diagnosis~., data = newtrain, method = "glm")
nonpcaresult<-confusionMatrix(newtest[,13], predict(nonPCA, newtest[,-13]))
nonpcaresult

pca_obj<-preProcess(newtrain[,-13], method=c('center','scale','pca'), thresh = 0.8)
pca_train_pred<-predict(pca_obj, newtrain[,-13])
pca_test_pred<-predict(pca_obj, newtest[,-13])
train2<-data.frame(newtrain[,13],pca_train_pred)
names(train2)[1]<-"diagnosis"
yespac<-train(diagnosis~., data = train2, method="glm")
yespacreslt<-confusionMatrix(newtest$diagnosis, predict(yespac, pca_test_pred))
yespacreslt

准确度应该是 0.64 和 0.71,在 R 控制台中。HTML/PDF/Word 的输出应该是相同的。现在我得到 0.75 和 0.71,这是错误的。

标签: routputr-markdownknitr

解决方案


推荐阅读