gpt4 book ai didi

r - 我在尝试读取输入时尝试使用 "connection"导致 R 卡住或崩溃

转载 作者:行者123 更新时间:2023-12-05 00:13:53 24 4
gpt4 key购买 nike

抱歉,我在标题中使用的术语可能没有正确使用。每当我尝试运行此代码时,它似乎正在尝试运行它但从未完成命令。当我单击停止命令标志(红色)时,它什么也不做。我无法关闭 R。那么为什么这需要永远运行?

con <- file('stdin', open = 'r')

inputs <- readLines(con)

最佳答案

在RStudio工作时,需要使用readLines(stdin())而不是 readLines(file('stdin')) ,但如果在终端中运行 R,您可以使用其中任何一个。

但是,由于您使用的是 RStudio,因此未指定输入行数也存在问题。从 stdin 读取输入时,Ctrl+D 表示输入结束。但是,如果您是从 RStudio 而不是从终端执行此操作 Ctrl+D is unavailable ,因此如果不指定输入行,则无法终止从 stdin 读取。

因此,如果您从终端运行 R,您的代码将起作用,您可以通过 Ctrl+D 发出输入结束信号。如果您必须使用 RStudio,您仍然可以使用 readLines(stdin()) if you know the number of lines of input ;例如。,

> readLines(stdin(), n=2)
Hello
World
[1] "Hello" "World"

另一种解决方法是使用 scan() ,例如:
> scan(,'')
1: Hello
2: World
3:
Read 2 items
[1] "Hello" "World"

(在第三行,我只是按 Enter 终止输入)。这样做的好处是您不需要事先知道输入的行数。

关于r - 我在尝试读取输入时尝试使用 "connection"导致 R 卡住或崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47946574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com