我的代码如下所示:
set.seed(123)
nsim<-5
p<-2
G <- matrix(runif(p*nsim),nsim,p)
dmax<- matrix(data=NA,nrow=nsim,ncol=p)
dmin<- matrix(data=NA,nrow=nsim,ncol=p)
for(i in 1:nsim) {
dmax[i]<- max(rdist(G[i,,drop=FALSE],G))
dmin[i]<- min(rdist(G[i,,drop=FALSE],G[-i,]))
}
我用它计算的距离填充了dmax和dmin,但我真正想要的是用G填充它们。我怎么能这样做?
答案 0 :(得分:1)
请参阅?which.max
dmax[i,] <- G[which.max(rdist(G[i,,drop=FALSE],G)),]
但是,请考虑两种代码的简化:
apply
而不是root 仅针对整个rdist
G
dmax <- G[apply(rdist(G,G),1,which.max),]
dmin <- G[apply(rdist(G,G),1,which.min),]