• R语言
  • 求助:将导入的EXCEL表中的数据转为矩阵格式

谢谢楼上两位的关注[s:13]

我马上给出问题的具体信息~!

这是部分代码:

<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,感觉更直接一些……

又有个问题。。。

我导入数据后,基本格式没有问题了,可是一共1000行的矩阵,为什么只能显示出999行?。。

调用A[999,1]显示缺省。

我看as.matrix()的使用帮助是行、列名默认不读的啊。。。

这是什么原因呢?

呃,问题已经解决了。。。谢谢楼上诸位了[s:19]

还在初学,以后还请多多指教[s:11]

4 年 后

回复 第13楼 的 Evan87:同样新手,遇到同样的问题了,我这次是200*200的excel表格存储,如何R读取为矩阵形式(行[,1];列[1,]以此形式显示)。求破解,万谢。