2011-10-30 12 views

Respuesta

31

Se puede crear una función de la siguiente manera

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) 
+2

so df [ -rowNumber,] elimina esa fila particular – MySchizoBuddy

+0

esto es correcto –

7

Si desea obtener cada una de las columnas de orden n de una trama de datos o vector etc uso de módulo de subconjuntos ...

Seleccione las columnas enésimas repitiendo los conjuntos aquí como módulo de 3 (elija el n ° según lo desee)

> 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 ... intercambiable C < -nrow (df) para las filas Subconfiguración ..

Cuestiones relacionadas