qq_33894726 2017-06-09 01:20 采纳率: 100%
浏览 1044
已采纳

r语言上机题,关于优劣度的排序,一直等于0,快疯了

x<-matrix(sample(1:10,size=36,replace=T),6,6)
max=numeric(6)
min=numeric(6)
for(k in 1:6){
max[k]=max(x[k,])
min[k]=min(x[k,])
}
sum1=0
sum2=0
for(i in 1:6)
{
for(j in 1:6)
{
if(j==1||j==3||j==6)
{
sum1=sum1+(x[i][j]-max[i])^2
sum2=sum2+(x[i][j]-min[i])^2
}
else
{
sum1=sum1+(x[i][j]-min[i])^2
sum2=sum2+(x[i][j]-max[i])^2
}
}
js=numeric(6)
sum1=sqrt(sum1)
sum2=sqrt(sum2)
js[i]=as.double(sum2)/(sum1+sum2)
sum1=0
sum2=0
}
输出结果js全是000000,做的实验是比较无纲量化处理再比较优劣度

  • 写回答

2条回答 默认 最新

  • Watch_dou 2017-06-11 06:30
    关注

    你前面的
    max=numeric(6)
    min=numeric(6)
    for(k in 1:6){
    max[k]=max(x[k,])
    min[k]=min(x[k,])
    }
    已经错了,应该输出每行的最值,而这样的结果全是0。
    最简单的还是apply():
    max_byrow=apply(x,1,max)
    min_byrow=apply(x,1,min)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵