You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R脚本中自动回应函数的控制台输入提示?

解决estadistica包tabla.frecuencias函数自动回应控制台提示的问题

当使用estadistica包的tabla.frecuencias函数时,该函数会通过控制台提示询问是否将数值分组为区间,需手动输入回应才能继续。要实现自动处理,可通过以下两种方法:

方法一:使用withr包模拟输入流(推荐)

withr包的with_input函数可预先模拟控制台输入,避免手动干预:

# 安装并加载withr包(首次使用需安装)
install.packages("withr")
library(withr)
library(estadistica)

# 自动输入"y"并回车(若不想分组则替换为"n")
with_input("y\n", {
  tabla.frecuencias(mtcars$mpg)
})

\n代表模拟按下回车键,确保函数能正确识别输入指令。

方法二:临时替换readline函数(无需额外包)

该函数的提示依赖readline获取输入,可临时替换readline让它直接返回预设回应:

library(estadistica)

# 保存原readline函数
original_readline <- readline
# 替换为返回预设值("y"表示同意分组,"n"表示不分组)
readline <- function(...) "y"

# 调用目标函数
tabla.frecuencias(mtcars$mpg)

# 恢复原readline函数,避免影响其他代码
readline <- original_readline

内容的提问来源于stack exchange,提问作者Carles Gomar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:57:05