首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库R语言

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

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2017-10-27 21:07:55

在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快捷键结束输入。

本部分(完)

本文为本站原创,如需转载,请注明出处:R语言中使用scan()函数输入数据-翔宇亭IT乐园

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 3 条,得分 300 分,平均 100 分) 查看完整评论
[回复] 36666666   打分:100分  发表时间:2020-06-22
· scan怎么读二进制数据能
[回复] 2求教   打分:100分  发表时间:2020-06-21
· 文件类型没有限制吗?我看有的是文本,有的是.dat能,怎么回事
[回复] 1赞赞   打分:100分  发表时间:2020-06-17
· 我想留下我的足迹,见到这么好的文章,我必须留下我的表态,鼓励你继续。
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.