导入
从键盘输入数据
在本节课中,我们将学习如何从用户获取数据。
有时在编写程序时,我们可能需要从实际使用程序的用户那里获取输入。我们设计的任务应能处理用户提供的任何输入。
以计算器为例:我们向其中输入一些数据,并告诉它如何处理这些输入。它执行相应的操作并显示结果。
现在假设我们正在创建一个仅执行加法运算的计算器。
让我们看一个示例:

获取用户输入并传递给函数。
在上图中,我们从用户那里获取两个输入,对它们执行特定操作,然后将结果输出到控制台。
使用 readLines() 函数获取用户输入
readLines() 函数用于从控制台读取一行内容,这在 R 中被称为 stdin 文件。通过该函数获取的数据可以存储在变量中,供程序后续使用。
通过 STDIN 获取数据的步骤
- 首先,通过以下方式获取文件:
1input <- file("stdin")
- 然后使用
readLines()函数:
1UserInput <- readLines(input, <输入数量>) 2# 此时变量 UserInput 是一个列表,其每个元素可通过方括号访问。
下面我们来看一段代码,展示如何从用户获取数据并将其传递给函数。
执行以下代码的步骤如下:
- 点击
>_ STDIN,在两行中分别输入两个数值。第一个数字输入第一行,第二个数字输入第二行。- 然后点击
RUN。
1Sum <- function(value1, value2) 2{ 3 x = as.integer(value1) 4 y = as.integer(value2) 5 x + y 6} 7 8# 主程序 9input <- file("stdin") 10UserInput <- readLines(input, 2) 11print(Sum(UserInput[1], UserInput[2]))
在上述代码中,我们从文件 stdin 中获取数据,并将其中的所有行读入变量 UserInput。输入的数量为 2。接着,我们将这些输入传递给 Sum() 函数。
通过
readLines()函数从文件读取的输入始终是 字符串类型。
因此,为了进行加法运算,我们需要使用 as.integer() 函数将其转换为整数类型。该函数会将传入的参数转换为整数类型的对象。
典型的 R 应用程序的核心优势在于处理大量数据。这类数据无法由用户轻易手动输入,因此通常通过外部文件将数据传递给 R 程序。这种方法更加高效且易于使用。