在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中执行的情况如下图所示:
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中的执行情况如下图所示:
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=',')) #创建因子
以上的执行情况如下图所示:
6、也可以在创建数据对象时使用多个scan()函数
下面使用scan()函数创建一个数据框df
df<-data.frame(name=scan(what='c',sep=','),sex=scan(what='c',sep=','))
执行情况如下图:
7、关于scan()函数输入数据结束的方法
在R中,当使用scan()函数输入数据时,如果想退出输入,可以多按一个空行,即结束输入时,按完回车后,再按一个回车键即可,在以上两个图中可以看到这种情况。
另外,如果输完数据,也可以按CTRL+Z快捷键结束输入。
新闻热点
疑难解答