想使用R语言,将矩阵中每一行的最大值赋值为“1”,其余值赋值为“0”
1条回答 默认 最新
- CSDN专家-HGJ 2022-01-10 00:30关注
对矩阵元素按行列遍历,判断是否为最大值,然后替换,参考代码:
m1 <- matrix(c(6,5,8,4,7,8,1,5,3),nrow=3,ncol=3,dimnames=list(c("r1","r2","r3"),c("c1","c2","c3"))) print(m1) for (i in 1:nrow(m1)){ ma=max(m1[i,]) for(j in 1:ncol(m1)){ if (m1[i,j]==ma){ m1[i,j]=1 } else{m1[i,j]=0} } } print(m1)
运行结果:
c1 c2 c3 r1 6 4 1 r2 5 7 5 r3 8 8 3 c1 c2 c3 r1 1 0 0 r2 0 1 0 r3 1 1 0
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
- ¥50 sft下载大文阻塞卡死
- ¥15 机器人轨迹规划相关问题
- ¥15 word样式右侧翻页键消失
- ¥15 springboot+vue 集成keycloak sso到阿里云
- ¥15 win7系统进入桌面过一秒后突然黑屏
- ¥30 backtrader对于期货交易的现金和资产计算的问题
- ¥15 求C# .net4.8小报表工具
- ¥15 安装虚拟机时出现问题