全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
34352 11
2015-02-10
比如两个变量i,j   
i=1:4    j=1:30
公式y=j+10i
计算出的y是矩阵
这个循环该怎么写呢?

二维码

扫码加我 拉你入群

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

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

全部回复
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)
二维码

扫码加我 拉你入群

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

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

2015-2-11 09:01:33
jz.mraz 发表于 2015-2-10 23:10
你要的循环:
i
谢谢  
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

2015-2-13 15:41:14
复制代码
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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