楼主: 麻烦and纠结
15709 7

[问答] R语言 [推广有奖]

  • 0关注
  • 0粉丝

本科生

55%

还不是VIP/贵宾

-

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

楼主
麻烦and纠结 发表于 2013-11-5 18:18:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
> rf<-randomForest(class ~ ., data=hr2, importance=TRUE)
错误于model.frame.default(formula = class ~ ., data = list(V1 = list( :
  对象不是矩阵
>

二维码

扫码加我 拉你入群

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

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

关键词:R语言

沙发
zhgzhckc 发表于 2013-11-6 01:16:20
试试这个:
rf<-randomForest(as.matrix(class) ~ ., data=hr2, importance=TRUE)
已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

藤椅
麻烦and纠结 发表于 2013-11-6 09:22:09
zhgzhckc 发表于 2013-11-6 01:16
试试这个:
rf
> rf<-randomForest(as.matrix(class) ~ ., data=hr1, importance=TRUE)
错误于as.vector(x, mode) :
  cannot coerce type 'builtin' to vector of type 'any'
>

板凳
zhgzhckc 发表于 2013-11-7 06:21:24
问题可能出在class这个变量的属性。

用class(hr1$class)命令看看class变量的属性。

另外,也请看看hr1的属性,从1楼看报告的错误看,hr1/hr2貌似是一个list,而不是data.frame或matrix。所以可能需要你把hr1/hr2改成data.frame或matrix。

如果还不行,我也技穷了。。。

报纸
麻烦and纠结 发表于 2013-11-7 09:09:56
首先 那个hr1与hr2我用mode函数弄 都是list,我用read.table()读取的数据它都是list,而且我用iris数据进行可以
  1. > library(randomForest)
  2. > data(iris)
  3. > mode(iris)
  4. [1] "list"
  5. > set.seed(71)
  6. > rf<-randomForest(Species ~ ., data=iris, importance=TRUE)
  7. >
复制代码
其中iris就是list类型的,
还有我对ty进行data.frame转置
  1. > tz<-as.data.frame(ty)
  2. > mode(tz)
  3. [1] "list"
  4. >
复制代码
转置后它还是list

地板
麻烦and纠结 发表于 2013-11-7 09:18:07
zhgzhckc 发表于 2013-11-7 06:21
问题可能出在class这个变量的属性。

用class(hr1$class)命令看看class变量的属性。
变量的属性问题
  1. > tx<-read.table("r.txt", header=TRUE)
  2. > ty<-t(tx)
  3. > tz<-as.data.frame(ty)
  4. > class(tz$class)
  5. [1] "NULL"
  6. > class(tx$class)
  7. [1] "numeric"
  8. > class(ty$class)
  9. 错误于ty$class : $ operator is invalid for atomic vectors
  10. >
复制代码
对象的属性出现问题了 为什么用t()函数转置会出现这个问题 怎么正确的转置啊

7
jgchen1966 发表于 2013-11-16 21:58:11
麻烦and纠结 发表于 2013-11-7 09:09
首先 那个hr1与hr2我用mode函数弄 都是list,我用read.table()读取的数据它都是list,而且我用iris数据进行 ...
请读下面的,也许能知道“错在何处?”
library(randomForest)
randomForest 4.6-7
Type rfNews() to see new features/changes/bug fixes.
> data(iris)
> mode(iris)
[1] "list"
> str(iris)
'data.frame':   150 obs. of  5 variables:
$ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
class(iris)
[1] "data.frame"
你的数据集是否是data.frame ,应用str() 或class() 来表征。
mode() 只表征数据类型,好象不能表征对象类型。。。
鹑居鷇食,鸟行无彰

8
麻烦and纠结 发表于 2013-11-19 16:36:30
jgchen1966 发表于 2013-11-16 21:58
请读下面的,也许能知道“错在何处?”
library(randomForest)
randomForest 4.6-7
恩 是data.frame类型的

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

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