首页 > 编程 > R > 正文

R语言中使用scan()函数输入数据

2023-05-01 13:45:46
字体:
来源:转载
供稿:网友

在R语言中,可以使用scan()函数从键盘中获取数据。scan()函数的语法格式可以参见《R语言中scan()函数参数详解》。

1、直接输入数据

输入数据时,可以每次输完一个数据后换行,也可以以空格作为分隔符输入数据。

(1)每行一个数据

scan()
1: 11
2: 12
3: 13
4:

Read 3 items
[1] 11 12 13

(2)以空格作为数据的分隔符

scan()
1: 11 12 13
4:

Read 3 items
[1] 11 12 13

(3)可以每行的数据量不同

scan()
1: 11 12
3: 13
4:

Read 3 items
[1] 11 12 13

以上在R中执行的情况如下图所示:

在R中使用scan()函数直接输入数据

2、输入数据时指定分隔符

scan(sep=",")
1: 11,12,13
4:

Read 3 items
[1] 11 12 13

这样,允许用户在输入数据时指定自己所用的分隔符,这里是中文逗号。

3、输入字符型数据

若使用scan()函数直接从键盘中输入字符型数据,需要指定what参数为character,否则出错。

(1)不指定what参数会报错

scan()
1: I Love China!

Error in scan() : scan() expected 'a real', got 'I'

(2)指定what参数

scan(what='character')
1: I Love China!
4:

Read 3 items
[1] "I" "Love" "China!"

(3)指定what参数和sep参数读入多个字符串

scan(what='character',sep=',')
1: I Love China!,I Love Beijing!,I Love my Family!
4:

Read 3 items
[1] "I Love China!" "I Love Beijing!" "I Love my Family!"

本部分在R中的执行情况如下图所示:

R语言中使用scan()函数输入字符串数据

4、输入数据到变量中

v<-scan(sep=",")
1: 11,12,13
4:

Read 3 items
> v
[1] 11 12 13

5、可以使用scan()函数输入数据创建其它数据对象

m<-matrix(scan(),nr=3,nc=4)  #创建矩阵

vc<-c(scan())   #创建向量

arr<-array(scan(sep=','),dim=c(2,3,2))   #创建数组

fc<-factor(scan(what='c',sep=','))  #创建因子

以上的执行情况如下图所示:

R语言中使用scan()函数输入数据并创建其它数据对象
R语言中使用scan()函数输入数据并创建因子

6、也可以在创建数据对象时使用多个scan()函数

下面使用scan()函数创建一个数据框df

df<-data.frame(name=scan(what='c',sep=','),sex=scan(what='c',sep=','))

执行情况如下图:

使用多个scan()函数创建一个数据框

7、关于scan()函数输入数据结束的方法

在R中,当使用scan()函数输入数据时,如果想退出输入,可以多按一个空行,即结束输入时,按完回车后,再按一个回车键即可,在以上两个图中可以看到这种情况。

另外,如果输完数据,也可以按CTRL+Z快捷键结束输入。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表