楼主: 子衿1219
1116 5

[问答] 矩阵避免循环 [推广有奖]

  • 1关注
  • 4粉丝

讲师

70%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
1.0023
学术水平
2 点
热心指数
0 点
信用等级
1 点
经验
13521 点
帖子
326
精华
0
在线时间
431 小时
注册时间
2012-3-19
最后登录
2018-7-8

楼主
子衿1219 发表于 2012-12-25 11:51:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题是这样的:
BL<-diag(w/abs(lm1))
其中w,lm1均为向量。比如说六维
这样的话,做出BL为6*6矩阵。
但是实际数据中,lm1中的某些值有可能是0,当存在0的时候,希望BL[i,i]<-0
如果不用循环的话可以做吗?
二维码

扫码加我 拉你入群

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

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


回帖推荐

qoiqpwqr 发表于3楼  查看完整内容

> lm1 w BL BL [,1] [,2] [,3] [,4] [,5] [,6] [1,] Inf 0 0 0.0 0.0 0 [2,] 0 1 0 0.0 0.0 0 [3,] 0 0 Inf 0.0 0.0 0 [4,] 0 0 0 0.8 0.0 0 [5,] 0 0 0 0.0 2.5 0 [6,] 0 0 0 0.0 0.0 6 > BL BL [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0 0 0 0.0 0.0 0 [2,] 0 1 0 0.0 0.0 0 [3,] 0 ...

沙发
whe58 在职认证  发表于 2012-12-25 12:03:30
究竟是循环还是训话?
教书匠

藤椅
qoiqpwqr 发表于 2012-12-25 13:09:58
> lm1 <- c(0, 2, 0, 5, 2, 1)
> w <- 1:6
> BL<-diag(w/abs(lm1))
> BL
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]  Inf    0    0  0.0  0.0    0
[2,]    0    1    0  0.0  0.0    0
[3,]    0    0  Inf  0.0  0.0    0
[4,]    0    0    0  0.8  0.0    0
[5,]    0    0    0  0.0  2.5    0
[6,]    0    0    0  0.0  0.0    6
> BL[BL == Inf] <- 0
> BL
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    0    0  0.0  0.0    0
[2,]    0    1    0  0.0  0.0    0
[3,]    0    0    0  0.0  0.0    0
[4,]    0    0    0  0.8  0.0    0
[5,]    0    0    0  0.0  2.5    0
[6,]    0    0    0  0.0  0.0    6
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
ltx5151 + 20 根据规定进行奖励
jmpamao + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
子衿1219 发表于 2012-12-25 14:48:37
qoiqpwqr 发表于 2012-12-25 13:09
> lm1  w  BL BL
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]  Inf    0    0  0.0  0.0    0
感谢版主的热心解答,可以了。

报纸
jmpamao 发表于 2012-12-26 00:27:00
lm1 <- c(0,2,0,5,2,1)
w <- 1:6
bl <- diag(ifelse(lm1!=0,w/abs(lm1),0))

也可以这样试试

地板
trier2006 发表于 2012-12-26 22:40:40
qoiqpwqr 发表于 2012-12-25 13:09
> lm1  w  BL BL
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]  Inf    0    0  0.0  0.0    0
学习了
最好的医生是自己,最好的药物是时间……

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

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