Home Forum Statistica con R escludere riga

This topic contains 9 replies and has 3 voices.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #5076

    Nicolo
    Participant

    ciao a tutti sono nuovo nel forum e so iniziando ad usare in questi giorni r-studio,
    Matrice_dist <- vegdist(tutti_anni[1:30,5:48], method=”bray”)

    ho un problema con questa stringa perché la riga 27 è composta da soli 0 vorrei escludere la riga ma non trovo il modo

    avete consigli ?

    vi ringrazio anticipatamente

    #5077
    Davide Massidda
    Davide Massidda
    Moderator

    Ciao, benvenuto. Prova con:
    Matrice_dist <- Matrice_dist[-27,]

    #5078
    admin
    admin
    Keymaster

    Spostato nella sezione Statistica con R.

    #5079

    Nicolo
    Participant

    forse ho sbagliato
    qualcosa prima ma continua a non venirmi

    db = file.choose()
    dataset = read.csv2(db)
    herader=TRUE
    dataset = read.table(db, sep=";", dec=",", header=TRUE)
    Matrice_Famiglie<-dataset
    dim(Matrice_Famiglie)
    head(Matrice_Famiglie)
    str(Matrice_Famiglie)
    View(Matrice_Famiglie)
    fix(Matrice_Famiglie)
    
    attach(Matrice_Famiglie)
    
    anno2013<-Matrice_Famiglie[1:18,1:48]
    anno2013
    anno2014<-Matrice_Famiglie[19:30,1:48]
    anno2014
    tutti_anni<-Matrice_Famiglie[1:30,1:48]
    View(tutti_anni1)
    
    View(anno2013)
    summary(anno2013)
    View(anno2014)
    summary(anno2014)
    View(tutti_anni)
    summary(tutti_anni)
    
    # Calcolo la matrice triangolare di dissimilarità
    
    Matrice_dist <- vegdist(tutti_anni[1:30,5:48], method="bray")
    Matrice_dist <- Matrice_dist[-27,]
    help(vegdist)
    #5081

    Nicolo
    Participant

    Anche facendo cosi non me lo calcola

    tutti_anni<-Matrice_Famiglie[1:30,1:48]
    tutti_anni<-tutti_anni[-27,]
    View(tutti_anni)
    
    (Error in <code>[.data.frame</code>(tutti_anni, 1:30, 5:48) : 
      undefined columns selecte)
    #5086
    Davide Massidda
    Davide Massidda
    Moderator

    Dunque, la prima cosa che non capisco nel tuo codice è perché eseguire:

    attach(Matrice_Famiglie)

    anche se poi, di fatto, tu non abbia bisogno di lavorare con le colonne del data frame Matrice_Famiglie “sciolte”.

    In ogni caso, l’errore che ti viene fuori indica che tu stai cercando di estrarre da Matrice_Famiglie le colonne che vanno da 5 a 48, ma alcune di queste colonne sono inesistenti. Probabilmente, il data frame ha meno di 48 colonne, dunque tu stai cercando di estrarre qualcosa che non esiste.

    Quindi, prima di eseguire il comando:

    Matrice_Famiglie[1:30,1:48]

    prova a contare quante colonne ha il tuo data frame:

    ncol(Matrice_Famiglie)

    #5089

    Nicolo
    Participant

    Innanzitutto voglio ringraziarti per i consigli;
    ”Attache” scusa è solo il rimasuglio di una prova ma come dici non centra nulla;
    ho provato a vedere il numero di colonne ma è 48,
    le prime 4 colonne sono la data, il sito e altre 2 di dati vari, ho provato a vedere se togliendo a monte la riga 27 riuscivo e cosi è stato, ma anche seguendo il tuo consiglio la tolgo tramite r ([-27,]) comunque dopo mi da errore.

    # ——— MDS ——— #
    library(vegan) # carica il pacchetto ‘vegan’
    library(MASS) # carico il pacchetto ‘MASS’

    #inserire file
    db = file.choose()
    dataset = read.csv2(db)
    herader=TRUE
    dataset = read.table(db, sep=”;”, dec=”,”, header=TRUE)
    Matrice_Famiglie<-dataset
    dim(Matrice_Famiglie)
    head(Matrice_Famiglie)
    str(Matrice_Famiglie)
    View(Matrice_Famiglie)
    fix(Matrice_Famiglie)
    anno2013<-Matrice_Famiglie[1:18,1:48]
    anno2013
    anno2014<-Matrice_Famiglie[19:30,1:48]
    anno 2013
    tutti_anni<-Matrice_Famiglie[1:30,1:44]
    View(tutti_anni)
    tutti_anni1<-tutti_anni[-27,]
    View(tutti_anni1)
    ncol(Matrice_Famiglie)
    View(anno2013)
    summary(anno2013)
    View(anno2014)
    summary(anno2014)
    View(tutti_anni1)
    summary(tutti_anni1)

    # Effettuare una cluster analysis e plottare un dendrogramma
    # Calcolo la matrice triangolare di dissimilarità

    Matrice_dist <- vegdist(tutti_anni1[1:30,5:48], method=”bray”)
    help(vegdist)

    > Matrice_dist <- vegdist(tutti_anni1[1:30,5:48], method=”bray”)
    Error in [.data.frame(tutti_anni1, 1:30, 5:48) :
    undefined columns selected

    #5090
    Davide Massidda
    Davide Massidda
    Moderator

    Mmm… potresti postare il risultati di questo comando?
    str(tutti_anni1[1:30,5:48])

    #5092

    Nicolo
    Participant

    > str(tutti_anni1[1:30,5:48])
    Error in [.data.frame(tutti_anni1, 1:30, 5:48) :
    undefined columns selected

    niente; comunque ho continuato eliminando la riga dal data set…
    Mille grazie di tutto l’aiuto

    #5094
    Davide Massidda
    Davide Massidda
    Moderator

    Come immaginavo. Ma tu sei davvero sicuro che il tuo oggetto sia di tipo data frame e, qualora lo fosse, che abbia davvero 48 colonne? Sicuro sicuro? Il comando che ti ho postato in precedenza, ovvero:
    ncol(tutti_anni1)
    che risultato ti restituisce?

Viewing 10 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.