楼主: wuchm
34457 11

[问答] r循环语句,带两个循环变量的程序,怎么写? [推广有奖]

  • 6关注
  • 1粉丝

已卖:1417份资源

博士生

53%

还不是VIP/贵宾

-

威望
0
论坛币
2397 个
通用积分
4.5700
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
5181 点
帖子
230
精华
0
在线时间
236 小时
注册时间
2007-4-24
最后登录
2024-9-18

楼主
wuchm 发表于 2015-2-10 19:48:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如两个变量i,j   
i=1:4    j=1:30
公式y=j+10i
计算出的y是矩阵
这个循环该怎么写呢?

二维码

扫码加我 拉你入群

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

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

关键词:循环语句 程序

回帖推荐

jz.mraz 发表于2楼  查看完整内容

你要的循环: i

沙发
jz.mraz 在职认证  发表于 2015-2-10 23:10:58
你要的循环:
i <- 1:4; j <- 1:30;  # i and j
ni<- length(i); nj <- length(j)  # lengths of i and j
y <- matrix(NA, nj, ni) # initiate a matrix with nj rows and ni columns
for (k in 1:ni){
for (p in 1:nj){
y [p, k] <- i[k] * 10 + j[p]  # fill the matrix
}
}

一个更简洁的方法:
matrix(rep(i, each=nj) * 10+rep(j, ni), nj, ni)
已有 5 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
负能波 + 1 + 1 + 1 精彩帖子
386241764 + 1 精彩帖子
admin_kefu + 100 热心帮助其他会员
求证1加1 + 1 我很赞同
李会超 + 40 + 5 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 105  学术水平 + 1  热心指数 + 3  信用等级 + 1   查看全部评分

藤椅
wuchm 发表于 2015-2-11 09:01:33
jz.mraz 发表于 2015-2-10 23:10
你要的循环:
i
谢谢  

板凳
rixingrixing 发表于 2015-2-11 11:43:44
jz.mraz 发表于 2015-2-10 23:10
你要的循环:
i
原来rep()还可以这样用~
rep(i, each=nj)
这个方法好简洁啊,赞~

报纸
lidan0520 发表于 2015-2-11 11:57:49
rixingrixing 发表于 2015-2-11 11:43
原来rep()还可以这样用~
rep(i, each=nj)
这个方法好简洁啊,赞~
学习了,赞!

地板
zhangyangsmith 发表于 2015-2-13 15:41:14
  1. outer(1:4, 1:30, function(x, y) 10*x + y)
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

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

7
qingzuss 发表于 2016-10-4 08:38:07
zhangyangsmith 发表于 2015-2-13 15:41
这个数组函数实用

8
zhangok 发表于 2016-10-6 21:45:34
jz.mraz 发表于 2015-2-10 23:10
你要的循环:
i
确实是很精简,很灵活!

9
deephilla 发表于 2017-2-5 01:03:42
dd1=matrix(NA,4,30);dd1

for (i in 1:4 )
{
    for (j in 1:30 )
   {
   dd1[i, j] =j+10*i
    }
}

dd1

10
deephilla 发表于 2017-2-5 01:05:45
zhangyangsmith 发表于 2015-2-13 15:41
高手,学习了

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

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