全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4950 5
2014-10-10
悬赏 100 个论坛币 已解决
各位好,我在用R进行循环计算,希望将a1,b1,c1的不同赋值组合起来得到不同的结果。
也就是说第一列a1有几个赋值如0.1, 0.4, 0.7, 1.0, 1.3,第二列有几个数值,第三列有几个数值,这些数值互相组合组成第四列与第五列的数值。
但是,在具体运算中只有第一行会有结果,其他行都是NA。每次运行程序,第一行的结果也会伴随不同赋值出现不同的结果。
在此附上code图与结果图,还请各位专家指教。非常感谢。特敬100论坛币聊表心意。

code如下
1.jpg

结果是

2.jpg


最佳答案

czshhh 查看完整内容

建议把row=1这条命令放到循环外面就可以了。你的row=row+1命令没有起作用
二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-10 09:41:49
建议把row=1这条命令放到循环外面就可以了。你的row=row+1命令没有起作用
二维码

扫码加我 拉你入群

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

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

2014-10-10 10:02:32
czshhh 发表于 2014-10-10 09:53
建议把row=1这条命令放到循环外面就可以了。你的row=row+1命令没有起作用
谢谢老师解答,我对code做了如下处理,但是还是不行,您看看。
Data = matrix (NA, 1000, 5);
for (a in 1:5)
{
  a1 = a*0.3 - 0.2;
  for (b in 1:5)
  {
    b1 = b*0.4 - 0.1;
    for (c in 1:13)
    {
      c1 = c - 6;
      
      row = 1;
{
      Data[row,1] = a1
      Data[row,2] = b1
      Data[row,3] = c1
      Data[row,4] = a1 + b1 + c1
      Data[row,5] = a1*b1*c1
}
      row = row + 1;
      
    }
  }
}
最后的结果还是只有第一列有数值,其他是NA
二维码

扫码加我 拉你入群

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

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

2014-10-10 10:04:47
czshhh 发表于 2014-10-10 09:53
建议把row=1这条命令放到循环外面就可以了。你的row=row+1命令没有起作用
老师,您说的是正确的,这样就对了,您看看是不是。

Data = matrix (NA, 1000, 5);
row = 1;
for (a in 1:5)
{
  a1 = a*0.3 - 0.2;
  for (b in 1:5)
  {
    b1 = b*0.4 - 0.1;
    for (c in 1:13)
    {
      c1 = c - 6;
      
      
{
      Data[row,1] = a1
      Data[row,2] = b1
      Data[row,3] = c1
      Data[row,4] = a1 + b1 + c1
      Data[row,5] = a1*b1*c1
}
row = row + 1;
      
    }
  }
}
二维码

扫码加我 拉你入群

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

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

2014-10-10 10:09:09
czshhh 发表于 2014-10-10 09:41
建议把row=1这条命令放到循环外面就可以了。你的row=row+1命令没有起作用
奉上论坛币,还请笑纳。
二维码

扫码加我 拉你入群

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

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

2014-10-10 22:22:39
毛维准 发表于 2014-10-10 10:04
老师,您说的是正确的,这样就对了,您看看是不是。

Data = matrix (NA, 1000, 5);
呵呵,时间紧张没说清楚放在大循环外面,不好意思,让你费解半天
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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