能人后边有人neng 2022-01-09 15:49 采纳率: 100%
浏览 60
已结题

R语言如何对矩阵中的数字赋值

想使用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月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月9日

悬赏问题

  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!