r - 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,这是错误的。
解决方案
推荐阅读
- python - 如何在python的文本文件中提取两个字符串之间的值?
- java - Android - 像谷歌地图一样准确获取坐标
- netezza - Netezza 中的 GROUP_CONCAT 替代方案?
- sql - Rails 在带有连接的 where 子句中运行 AND 查询
- python-3.x - 如何处理 exif 图像对象中缺少的 .gps_latitude 属性?
- python - 如何将多个 Python 文件从 Google Drive 附加到 colab 的一个笔记本中?
- prometheus - 使用 prometheus 和 alertmanager 主机关闭警报
- azure - 我收到一个 Whitelabel 错误页面,我该怎么办?
- meshlab - Meshlab 的硬件要求(显卡要求)
- android - 下载管理器不显示通知