ottenere il Numero di Riga di R frame di dati

Una domanda su frame di dati in R. voglio estrarre una riga da un frame di dati, insieme con la sua posizione(numero di riga) in originale frame di dati. L’idea è quella di creare un nuovo frame di dati che include le informazioni della riga estratta dalla precedente frame di dati, così come la posizione della riga precedente frame di dati.

patchLocalNo <- patchList[which(patchListTop5$sensitivity == patchLocalSpec),]

quello che voglio fare è prendere i numeri di riga da patchList che soddisfano la cui condizione, e aggiungerli a una colonna in patchLocalNo.

Grazie in anticipo, ho cercato online e ha chiesto di co-lavoratori e tutto quello che posso venire con è un pre-elaborazione dei dati in perl.

Alcuni dati di esempio e un esempio di output che vorrei sarebbe molto utile.

OriginaleL’autore wespiserA | 2011-04-05

2 Replies
  1. 9

    Penso di aver risposto alla tua stessa domanda.

    I cui risultati() è un vettore con i numeri di riga che si desidera estrarre.

    df <- data.frame(x = runif(20))
    
    w <- which(df$x > 0.9)
    w
    [1]  9 11 14 16 20
    
    data.frame(which=w, df=df[w, ])
    
      which        df
    1     9 0.9437138
    2    11 0.9995509
    3    14 0.9237888
    4    16 0.9526003
    5    20 0.9191727
    L’OP sta cercando di corrispondere l’intera riga, non solo un singolo valore, e vuole aggiungere il numero di riga a recuperare i valori…
    Questo potrebbe essere il caso, alhough non è del tutto chiara la questione. In ogni caso, il mio esempio di codice per fare questo – identificare il numero di riga del frame di dati che corrisponde al boolean istruzione, e aggiunge che questo estratto di riga. Senza una migliore specificazione del problema, e alcuni dati di esempio, non riesco a pensare a un modo ovvio di migliorare la risposta.
    la soluzione funziona per il mio script, “identificare il numero di riga del frame di dati che corrisponde al boolean istruzione, e aggiunge che questo estratto riga” è esattamente ciò che questa soluzione fa.

    OriginaleL’autore Andrie

  2. 1

    Si può fare questo in una o due righe di codice:

    rNo <- as.integer(rownames(patchList[which(patchListTop5$sensitivity == patchLocalSpec),]))
    patchLocalNo <- cbind(patchLocalNo[rNames,], rNo)

    OriginaleL’autore c.gutierrez

Lascia un commento