R脚本运行异常:无文件选择提示且报'FMax未找到'错误
R脚本整段运行报错:找不到对象'FMax'且无文件选择窗口
我逐行运行R代码时一切正常,但点击运行整个脚本时,出现以下错误:Error in ss.ca.cp(FMax, LSL = 370, USL = 430) : object 'FMax' not found
同时脚本完全没弹出文件选择窗口。我的脚本代码如下:
library(readxl) FMax <- read_xlsx(file.choose(), col_names =FALSE, range = "C14:C68") FMax= as.matrix(FMax) #Import SixSigma package library(SixSigma) # Get the Z (sigma score) of the process ss.ca.z(FMax, LSL = 370, USL = 430) # Get the Cp indices of the process ss.ca.cp(FMax, LSL = 370, USL = 430) # Get the Cp indices confidence intervals ss.ca.cp(FMax, LSL = 370, USL = 430, ci = TRUE) # Get the Cpk indices of the process ss.ca.cpk(FMax, LSL = 370, USL = 430) # Get the Cpk indices confidence intervals ss.ca.cpk(FMax, LSL = 370, USL = 430, ci = TRUE) # Perform process capability analysis ss.study.ca(FMax,LSL = 370,USL = 430, Target = 400, alpha = 0.05, f.na.rm = TRUE, f.sub = "Process capability")
问题原因
- 整段运行脚本时,
file.choose()的选择窗口可能被IDE后台隐藏,导致代码卡在文件选择步骤,但后续代码仍继续执行,此时FMax还未被赋值,自然会报“找不到对象”的错误。 - 部分IDE在批量运行脚本时会默认使用非交互模式,这种模式下
file.choose()无法触发可视化的文件选择窗口。
解决办法
手动指定文件路径
直接把file.choose()替换成你的Excel文件的绝对路径,示例:FMax <- read_xlsx("D:/数据文件/你的文件名.xlsx", col_names =FALSE, range = "C14:C68")注意路径要用正斜杠
/或者双反斜杠\\,避免转义字符导致的路径识别错误。强制开启交互模式
在调用file.choose()前添加一行代码,强制IDE启用交互模式显示弹窗:library(readxl) # 强制开启图形化菜单交互 options(menu.graphics = TRUE) FMax <- read_xlsx(file.choose(), col_names =FALSE, range = "C14:C68") FMax= as.matrix(FMax)分步运行关键代码
先单独运行library(readxl)和FMax <- read_xlsx(...)这几行代码,等完成文件选择、FMax成功赋值后,再选中剩余的SixSigma相关代码批量运行。
内容的提问来源于stack exchange,提问作者Savannah Roemer
相关产品推荐
相关产品推荐

