Partage
  • Partager sur Facebook
  • Partager sur Twitter

R : subscript out of bounds

fonction lapply

Sujet résolu
    16 février 2019 à 14:12:12

    Edit : Problème résolu grâce à un autre Forum

    Bonjour,

    J'espère être dans le bon forum


    Je dois,pour un projet réaliser une carte de Kohonen 4*4.

    Cependant, j'obtiens l'erreur

    Error in win_index[1, ] : subscript out of bounds
    In addition: There were 16 warnings (use warnings() to see them)

    Après avoir testé mon code, je suppose que c'est la fonction lapply (ligne 76 ) qui ne
    s'éxecute pas bien car la matrice ainsi créée ne contient que des NA.
    Et donc comme cette matrice est utilisée par la suite, le résultat n'est pas coorrect car
    les NA se retrouve tout au long du programme.

    code :

     
    #############################################
    ##Function for distance calculation (RMSDA)##
    #############################################
     
    RMSDA<-function(data_phipsi,Kohonen_matrix)
    {
      difference<-data_phipsi-Kohonen_matrix 
      for(j in 1:length(difference)){
        if (difference[j]< -180) {difference[j]=difference[j]+360}
        if (difference[j]> +180) {difference[j]=difference[j]-360}
      }
      distance=mean(sqrt(difference^2))  #http://rug.mnhn.fr/seewave/HTML/MAN/rms.html
      return(distance) 
    }
     
    ##############################
    ## Program ###
    ##############################
     
    
    for(step in 1:iteration)
    {
      data_phipsi<-data_phipsi[sample(nrow(data_phipsi)),] # Sample vectors of training (samples of lines of the dataframe)
      print(step) #Visualize where we are in loops
      for(k_row in 1:nrow(data_phipsi))
      {
     
     
        #Update learn_rate and radius at each row of each iteration
        learn_rate<-learning(initial_rate,((step-1)*nrow(data_phipsi))+k_row,data_phipsi)
        learn_radius<-learning(initial_radius,((step-1)*nrow(data_phipsi))+k_row,data_phipsi)
     
     
        #Find distance between each vectors of angles of Kohonen Map and the training vector
        phipsi_RMSDA<-lapply(random_list, RMSDA, data_phipsi=data_phipsi[k_row,])
    
      }
     
    }



    Comment est-il possible de régler cette erreur de lapply ?

    Merci

    -
    Edité par Amandine Lecerf Defer 17 février 2019 à 10:32:11

    • Partager sur Facebook
    • Partager sur Twitter

    Amandine,  Licence de Biologie, Master de Bioinformatique, en formation de Data Scientist

    R : subscript out of bounds

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown