全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1829 6
2013-11-22


代码的一部分:X是一个矩阵

x=100000000;

for(i in 2:nrow(X)){

for(j in 1:i-1){

xba<-(X[i,]+X[j,])/2;

W[i,j]=(X[i,]-xba)%*%t(X[i,]-xba)+(X[j,]-xba)%*%t(X[j,]-xba);

if(x>=W[i,j]){

x=W[i,j]               #求最小值及其位置

x0=i;

x1=j;

}


想求出W矩阵中最小值及其位置,为什么说if语句运行错误

Error in if (x > W[i, j]) { : argument is of length zero



二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-22 23:14:01
1:i-1   改成1:(i-1)
二维码

扫码加我 拉你入群

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

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

2013-11-23 00:44:43
最开始那个x=100000000是干嘛用的?
二维码

扫码加我 拉你入群

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

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

2013-11-23 00:46:19
R不是C,语句后面不用加;
二维码

扫码加我 拉你入群

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

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

2013-11-30 18:50:46
qoiqpwqr 发表于 2013-11-23 00:44
最开始那个x=100000000是干嘛用的?
就是后面的if 语句要比大小,先给x一个初始值,随便设的,当W矩阵中有比这个数小就替代掉
二维码

扫码加我 拉你入群

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

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

2013-12-1 00:35:31
也许用:which.min()与min() 相结合,更会简便些:
Colmin<-apply(W,2,min)
I<-which.min(Colmin)
J<-Which.min(W[,I])
W[J,I]即为W中最小值 ,J、I即为行与列的位置。

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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