楼主: 耕耘使者
8349 4

[问答] 如何用scan读取CSV数据 [推广有奖]

贵宾

学术权威

39%

还不是VIP/贵宾

-

威望
4
论坛币
1812817 个
通用积分
148.0401
学术水平
109 点
热心指数
173 点
信用等级
87 点
经验
93394 点
帖子
4550
精华
0
在线时间
2845 小时
注册时间
2006-4-6
最后登录
2024-2-24

60论坛币
文件在附件。 UKDriverDeaths2.rar (515 Bytes) 本附件包括:
  • UKDriverDeaths2.csv

文件名是UKDriverDeaths2.csv,里面是一个变量x
如果去掉变量名x,则可以用下面命令读取:scan("UKDriverDeaths2.csv")
但如果不删除变量名x,则同样的命令读取时,会提示错误:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
  scan() expected 'a real', got 'x'
请教:如何用scan读取包含变量名的CSV文件?
谢谢!

关键词:scan 如何用 Expected strings Deaths 如何
沙发
yywan0913 在职认证  发表于 2014-5-3 22:25:02 |只看作者 |坛友微信交流群
what=""
已有 2 人评分学术水平 热心指数 收起 理由
耕耘使者 + 1 + 1 热心帮助其他会员
qoiqpwqr + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 2   查看全部评分

是什么给了你自信

使用道具

  1. #这个是R的一个老问题或者是习惯
  2. #问题出在colClasses的设置上,简而言之去掉x就作为数值型的数据
  3. #可以使用二楼的x = scan("D:\\UKDriverDeaths2.csv",what = " ")
  4. #更清楚的是把colClasses读成character
  5. #如果用read.csv函数的话是stringsAsFactors=FALSE
  6. #scan()的话可以写成下面
  7. x = scan("D:\\UKDriverDeaths2.csv",what = "character")
复制代码


已有 2 人评分学术水平 热心指数 收起 理由
耕耘使者 + 1 + 1 热心帮助其他会员
qoiqpwqr + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 2   查看全部评分

使用道具

板凳
耕耘使者 发表于 2014-5-4 21:48:29 |只看作者 |坛友微信交流群
yywan0913 发表于 2014-5-3 22:25
what=""
谢谢!
这样一来,它就把x当然一个数值了,而不再是原来意义上的变量名。

使用道具

报纸
耕耘使者 发表于 2014-5-4 21:57:05 |只看作者 |坛友微信交流群
凸集分离定理 发表于 2014-5-4 05:01
谢谢!
疑惑是,这样x就作为一个值,而不是原来意义上的变量名了。而用read.csv,就不存在这个问题,就是说,x仍然是变量名。
是不是scan根本就不能读取有变量名的数据集?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 22:12