全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2034 3
2013-02-12
我从外部文件case=read.table一个txt文件,里面都是数字。导入后发现case成为matrix格式,似乎不能进行数学运算。于是case=as.data.frame(case)。

转换后依然不行,class(case[1,1]) 是"factor"格式的。我想要进行sum=rowSums(case)这类的运算,报错Error in rowSums(case) : 'x' must be numeric;

求助 。我不可能把矩阵中的每个元素逐一as.numeric,因为矩阵量很大。想法是直接把矩阵转换调。

谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-2-12 11:01:35
最开始读入数据的时候应该就读为numeric的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-14 15:21:43
你原始数据可能存在一定的问题,因为如果是数字的话,read.table()会直接读为数字的。曾经遇到过的几现象,是数字是货币形式的,存在千分号,读入当中由于缺失存有字符等等。
解决途径:可以用EXCEL把格式调整好,再读。设置read.table的参数,读入。编写程序,转换factor到numeric,然后使用as.matrix()转换矩阵。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-14 19:37:40
     dat <- apply( dat,2,as.numeric )
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群