[R正确使用read.csv
的我一定是误解R.作品如何read.csv我已经阅读了帮助文件,但还是不明白,包含csv文件如何:[R正确使用read.csv
40900,-,-,-,241.75,0
40905,244,245.79,241.25,244,22114
40906,244,246.79,243.6,245.5,18024
40907,246,248.5,246,247,60859
读成R使用:euk<-data.matrix(read.csv("path\to\csv.csv"))
产生此为(使用tail
)结果:
Date Open High Low Close Volume
[2713,] 15329 490 404 369 240.75 62763
[2714,] 15330 495 409 378 242.50 127534
[2715,] 15331 1 1 1 241.75 0
[2716,] 15336 504 425 385 244.00 22114
[2717,] 15337 504 432 396 245.50 18024
[2718,] 15338 512 442 405 247.00 60859
现在一定是很明显,我不明白。请在你的回应中表现出善意,我正在努力学习。
谢谢!
该问题与read.csv
不符,但与data.matrix
。 read.csv
将任何带有字符的列作为因子导入。数据集第一行中的' - '是字符,因此该列被转换为一个因子。现在,您将read.csv
的结果传递给data.matrix
,并且作为帮助状态,它将用它的内部代码替换该因子的级别。
基本上,您需要确保在将数据帧传递到data.matrix
之前,您的数据列是数字。
这应该工作你的情况(假设只有字符“ - ”):
euk <- data.matrix(read.csv("path/to/csv.csv", na.strings = "-", colClasses = 'numeric'))
我没有R专家,但你可以考虑使用scan()
代替,例如:
> data = scan("foo.csv", what = list(x = numeric(), y = numeric()), sep = ",")
凡foo.csv有两列,x和y,并以逗号分隔。我希望有所帮助。
我把你的数据的剪切/粘贴,把它放在一个文件,我得到这个使用“R '
> c<-data.matrix(read.csv("c:/DOCUME~1/Philip/LOCALS~1/Temp/x.csv",header=F))
> c
V1 V2 V3 V4 V5 V6
[1,] 40900 1 1 1 241.75 0
[2,] 40905 2 2 2 244.00 22114
[3,] 40906 2 3 3 245.50 18024
[4,] 40907 3 4 4 247.00 60859
>
数据文件中必须有更多数据,比如标题行的数据。而你显示输出似乎开始有2713行我会检查:
The format of the header line, or get rid of it and add it manually later.
That each row has exactly 6 values.
The the filename uses forward slashes and has no embedded spaces
(use the 8.3 representation as shown in my filename).
另外,如果你从生成MS Excel的CSV文件,对于日期的内部表示是一个数字。
是的,还有更多的数据我只是用'尾巴'拉最后几行。我编辑了这个问题来反映这一点。谢谢! – mrkb80 2013-04-26 19:24:43
您的输入有6列,矩阵也有6列(加上“索引”列(用方括号括起来)...什么似乎是问题? – Barranka 2013-04-26 18:14:14
看最后一行40907得到更改为15338 ,246被改为512,等等...... – mrkb80 2013-04-26 18:16:24