楼主: lxs557939
56952 6

[问答] 请教一个R语言for循环的问题,报错:subscript out of bounds [推广有奖]

  • 19关注
  • 2粉丝

硕士生

35%

还不是VIP/贵宾

-

威望
0
论坛币
62 个
通用积分
5.8618
学术水平
6 点
热心指数
7 点
信用等级
4 点
经验
961 点
帖子
74
精华
0
在线时间
247 小时
注册时间
2012-2-21
最后登录
2022-11-25

楼主
lxs557939 发表于 2014-8-11 21:50:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
刚刚开始学习R 不久,遇到这么一个问题,代码运行老是报错,不知道错误出在哪里,以下是程序:

A1<-matrix(rep(0,167*166*167),nrow=167,ncol=166*167)
for(m in 1:167){
  for(n in (1+166*(m-1)):166*m){
    A1[m,n]<-1
  }
}

运行后报错为:Error in `[<-`(`*tmp*`, m, n, value = 1) : subscript out of bounds

请问哪位前辈知道这是错在哪里吗?非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:script Bounds Bound scrip for循环 matrix Error 程序

沙发
shenyu2070 在职认证  发表于 2014-8-11 23:28:06
A1<-matrix(rep(0,167*166*167),nrow=167,ncol=166*167)
for(m in 1:167){
  for(n in (1+166*(m-1)):(166*m)){
    A1[m,n]<-1
  }
}

你的错误在与(166*m)没有加入一个括号

藤椅
lxs557939 发表于 2014-8-12 00:21:41
shenyu2070 发表于 2014-8-11 23:28
A1
加了括号后,得到了正确的结果!
就是少了括号。
感谢您的帮助!

板凳
真艾无敌 发表于 2014-8-12 09:18:58
lxs557939 发表于 2014-8-12 00:21
加了括号后,得到了正确的结果!
就是少了括号。
感谢您的帮助!
想请教一下,为何加了括号才行。。。

报纸
tiantanshu 发表于 2014-8-12 09:49:17
你这个不加括号的话for(){}的语句就不完整了,这个就是个语法错误,做的思路没有错。

地板
lxs557939 发表于 2014-8-12 15:17:41
真艾无敌 发表于 2014-8-12 09:18
想请教一下,为何加了括号才行。。。
是一个语法错误,不加括号就不完整

7
lxs557939 发表于 2014-8-12 15:19:09
tiantanshu 发表于 2014-8-12 09:49
你这个不加括号的话for(){}的语句就不完整了,这个就是个语法错误,做的思路没有错。
我是从matlab中直接把代码复制到R中的,结果两个软件有些小差别。
谢谢!

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

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