¿Cómo puedo eliminar todos los n-ésima fila de una dataframe en R?

aquí está una manera de hacerlo. df[seq(1, NROW(df), by = n),]
df[-seq(n, NROW(df), by = n),] podría funcionar mejor

OriginalEl autor Yktula | 2011-10-30

3 Comentarios

  1. 35

    Podría crear una función como la siguiente

    Nth.delete<-function(dataframe, n)dataframe[-(seq(n,to=nrow(dataframe),by=n)),]

    Vamos a probarlo

    DF<-data.frame(A=1:15, B=rnorm(15), C=sample(LETTERS,15))
    Nth.delete(DF, 3)
    así df[-rowNumber, ] elimina esa fila determinada
    esto es correcto

    OriginalEl autor Tyler Rinker

  2. 11

    Si quieres obtener la cada una de las n columnas de un marco de datos o vector etc uso del modulo subconjunto de…

    Seleccione la enésima columnas mediante la repetición de los conjuntos de
    aquí como modulo de 3 (elegir enésima como te deseo)

    > x <- c(1,2,3,4,5,6)
    > d <- rbind(x,x,x)
    > df <- as.data.frame(d, row.names=T)
    > c <- 1:ncol(df)
    > c
    [1] 1 2 3 4 5 6
    c%%3   ### nth cycle, here every 3
    [1] 1 2 0 1 2 0
    
    #select the every 3rd column of every 3
    > df[, c%%3==0]  
      V3 V6
    1  3  6
    2  3  6
    3  3  6
    
    #every first column of every 3
    > df[, c%%3==1]
      V1 V4
    1  1  4
    2  1  4
    3  1  4
    
    #every 2nd column of every 3
    > df[, c%%3==2]
      V2 V5
    1  2  5
    2  2  5
    3  2  5
    
    
    #drop the 3rd columns  
    > df[, !(c%%3==0)]
      V1 V2 V4 V5
    1  1  2  4  5
    2  1  2  4  5
    3  1  2  4  5

    etc… de intercambio de c<-nrow(df) para el subconjunto de filas..

    OriginalEl autor Amos Folarin

  3. 5

    Deseo agregar la tidyverse estilo de aproximación a este problema, mediante la %% operador.

    library(dplyr)
    df <- data_frame(V1 = seq(1, 26), V2 = letters)
    df %>% dplyr::filter(row_number() %% 2 != 0) ## Delete even-rows
    df %>% dplyr::filter(row_number() %% 2 != 1) ## Delete odd-rows
    df %>% dplyr::filter(row_number() %% 3 != 1) ## Delete every 3rd row starting from 1

    Puede utilizar la misma idea para seleccione cada n-ésima fila, por supuesto. Ver aquí

    OriginalEl autor Kim

Dejar respuesta

Please enter your comment!
Please enter your name here