Как вернуться к соответствующим строкам исходных данных? - PullRequest
0 голосов
/ 07 ноября 2011

Мой код выглядит так:

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. Как я могу это сделать?

1 Ответ

1 голос
/ 07 ноября 2011

См. ?which.max

dmax[i,] <- G[which.max(rdist(G[i,,drop=FALSE],G)),]

Но рассмотрим два упрощения вашего кода:

  1. используйте apply вместо root
  2. пробег rdist только для всего G

    dmax <- G[apply(rdist(G,G),1,which.max),]
    dmin <- G[apply(rdist(G,G),1,which.min),]
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...