楼主: 麻烦and纠结
69401 4

[问答] R语言的转置行列问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

55%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
479 点
帖子
73
精华
0
在线时间
46 小时
注册时间
2013-10-16
最后登录
2015-4-3

楼主
麻烦and纠结 发表于 2013-11-6 09:46:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

先用read.table()函数读取数据。然后用t()函数进行转置,然后我再对转置后的数据进行随机森林分类

  1. >tx<-read.table("r.txt", header=TRUE)
  2. > ty<-t(tx)
  3. > library(randomForest)
  4. > rf<-randomForest(class ~ ., data=ty, importance=TRUE)
  5. 错误于model.frame.default(formula = class ~ ., data = list(V1 = c(101.1,  :
  6.   对象不是矩阵
  7. >
复制代码


​我想知道哪里出问题了?

  1. > mode(tx)
  2. [1] "list"
  3. > mode(ty)
  4. [1] "numeric"
  5. >
复制代码

对tx进行行列转置后它的类型改变了,然后我就又对ty进行了矩阵转置

  1. > tz<-as.matrix(ty)
  2. > mode(tz)
  3. [1] "numeric"
  4. > ts<-as.data.frame(ty)
  5. > mode(ts)
  6. [1] "list"
  7. >
复制代码
为什么进行矩阵转置后类型是 数值类型啊?还有我对ts进行分类为什么也不行啊
  1. > rf<-randomForest(class ~ ., data=ts, importance=TRUE)
  2. 错误于model.frame.default(formula = class ~ ., data = ts, na.action = function (object,  :
  3.   对象不是矩阵
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:R语言 randomForest numeric Library random library 森林

沙发
yywan0913 在职认证  发表于 2013-11-6 10:00:00
t()对转置,一般是对于矩阵来说,所以矩阵里的元素一般都是统一的,要么全是字符,要么全是数字,当时混合的时候,转置后就统一变成字符型了。
是什么给了你自信

藤椅
麻烦and纠结 发表于 2013-11-6 10:24:32
yywan0913 发表于 2013-11-6 10:00
t()对转置,一般是对于矩阵来说,所以矩阵里的元素一般都是统一的,要么全是字符,要么全是数字,当时混合的 ...
“对于所给的矩阵或数据框X,T返回x的转置"
t()不是可以对矩阵与数据框进行转置呀!这是在help里面找到的
而且”一 个 数 据 框可以 由 函 数read.table 间接创建“ 那么我用read.table读取的数据也是数据框类型啦
那么就可以进行转置呀

板凳
yywan0913 在职认证  发表于 2013-11-6 10:47:04
麻烦and纠结 发表于 2013-11-6 10:24
“对于所给的矩阵或数据框X,T返回x的转置"
t()不是可以对矩阵与数据框进行转置呀!这是在help里面找到 ...
可以转置,但要么全是数据,要么全是字符,如果矩阵或者数据框中又有数据型又有字符型,那么转置后,就全部转化成字符型了。也就是原数据都变为字符型了。
   如果转置的数据框或者矩阵中全是数据,就不会出现那种情况了。
是什么给了你自信

报纸
麻烦and纠结 发表于 2013-11-6 10:58:09
yywan0913 发表于 2013-11-6 10:47
可以转置,但要么全是数据,要么全是字符,如果矩阵或者数据框中又有数据型又有字符型,那么转置后,就全 ...
它现在变成了 全部都是数据型
  1. > mode(tz)
  2. [1] "numeric"那现在我要对它进行随机森林分类,我把它转置成了data.frame,为什么还是不行啊
复制代码
> rf<-randomForest(class ~ ., data=ts, importance=TRUE)
错误于model.frame.default(formula = class ~ ., data = ts, na.action = function (object,  :
  对象不是矩阵

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 03:10