楼主: dyb20071108
808 2

[问答] 【求助】请问这是什么导致的问题啊? [推广有奖]

  • 0关注
  • 0粉丝

初中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
53 点
帖子
4
精华
0
在线时间
29 小时
注册时间
2017-11-7
最后登录
2018-3-28

楼主
dyb20071108 发表于 2018-1-24 14:07:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
做SOM的时候需要多维度尝试,写了个循环却出了问题,循环外却没有问题。
有问题的代码如下
  1. res=as.data.frame(matrix(1:81,9,9))
  2. res
  3. for (i in 2:10) {
  4. for (j in 2:10) {
  5.   somb <- som(cnorm, xdim=i, ydim=j, topol="hexa", neigh="gaussian")  
  6.   res[i-1,j-1]=somb$qerror
  7. }
  8. }  
复制代码
具体报错为
  1. Error in som(cnorm, xdim = i, ydim = j, topol = "hexa", neigh = "gaussian") :
  2.   REAL() can only be applied to a 'numeric', not a 'integer'
复制代码


而在外面的时候
  1. soma <- som(cnorm, xdim=2, ydim=2, topol="hexa", neigh="gaussian")  
复制代码
没有问题
哪位大神能告诉一下这是什么情况,谢谢

二维码

扫码加我 拉你入群

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

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

关键词:matrix Frame Data Fram For

沙发
zhouhao211314 发表于 2018-1-24 15:21:16
试了一下,for循环里i的class为integer,应该是这个原因
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
dyb20071108 发表于 2018-1-25 09:57:23
哇哦,厉害

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 18:42