谢谢楼上两位的关注[s:13]
我马上给出问题的具体信息~!
求助:将导入的EXCEL表中的数据转为矩阵格式
这是部分代码:
<br />
> sqlTables(channel)<br />
TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS<br />
1 D:\\workspace\\B2005Table1 <NA> Data$ SYSTEM TABLE <NA><br />
2 D:\\workspace\\B2005Table1 <NA> AIJ TABLE <NA><br />
3 D:\\workspace\\B2005Table1 <NA> DVDKIND TABLE <NA><br />
4 D:\\workspace\\B2005Table1 <NA> DVDSUPPLY TABLE <NA><br />
5 D:\\workspace\\B2005Table1 <NA> MEMBER TABLE <NA><br />
> w<-sqlFetch(channel, "AIJ")<br />
警告信息:<br />
closing unused RODBC handle 1<br />
> w<-matrix(data=w,c(1000,100),byrow=TRUE)<br />
> w<br />
[,1]<br />
[1,] Numeric,999<br />
[2,] Numeric,999<br />
[3,] Numeric,999<br />
[4,] Numeric,999<br />
[5,] Numeric,999<br />
[6,] Numeric,999<br />
[7,] Numeric,999<br />
[8,] Numeric,999<br />
[9,] Numeric,999<br />
[10,] Numeric,999<br />
</p>
我只粘过来了10行,实为1000行。
请各位帮忙看看错误原因吧~~
[s:14]各位UseR帮忙看看吧! 多谢了~
召唤各位大牛!!!!
回复 第5楼 的 Evan87:神啊,你这错了两万里了。第一万里错到把data.frame转成matrix(不能这么干,要用as.matrix());第二万里在matrix()函数语法都不对,第二个参数有那样写的么?看帮助,看帮助。
> x = data.frame(a=1:2, b=c('x','y'))<br />
> matrix(x)<br />
[,1]<br />
[1,] Integer,2<br />
[2,] factor,2<br />
> as.matrix(x)<br />
a b<br />
[1,] "1" "x"<br />
[2,] "2" "y"<br />
</p>呃,新手,见笑了[s:12]
我回去修改下~
谢谢益辉同学了[s:19]
我还是习惯用read.csv,感觉更直接一些……
read.csv
as.matrix
又有个问题。。。
我导入数据后,基本格式没有问题了,可是一共1000行的矩阵,为什么只能显示出999行?。。
调用A[999,1]显示缺省。
我看as.matrix()的使用帮助是行、列名默认不读的啊。。。
这是什么原因呢?
呃,问题已经解决了。。。谢谢楼上诸位了[s:19]
还在初学,以后还请多多指教[s:11]
4 年 后
回复 第13楼 的 Evan87:同样新手,遇到同样的问题了,我这次是200*200的excel表格存储,如何R读取为矩阵形式(行[,1];列[1,]以此形式显示)。求破解,万谢。