¿Cómo eliminar filas condicionalmente en R DataFrame?

En este artículo, discutiremos cómo eliminar filas de forma condicional de un marco de datos en el lenguaje de programación R. Necesitamos eliminar algunas filas de datos del marco de datos de forma condicional para preparar los datos. Para eso, usamos condiciones lógicas en base a las cuales se eliminan los datos que no siguen la condición. 

Método 1: Quitar Fila por Condición Única

Para eliminar filas de datos de un marco de datos basado en una sola declaración condicional, usamos corchetes [] con el marco de datos y colocamos la declaración condicional dentro de él. Esto corta el marco de datos y elimina todas las filas que no cumplen la condición dada.

Sintaxis:

df[ declaración-condicional ]

dónde,

  1. df: determina el marco de datos a utilizar.
  2. conditional-statement: determina la condición para filtrar datos.

Ejemplo:

En este ejemplo. se eliminan todos los puntos de datos donde la variable x es menor que cero.

R

# create sample data
sample_data <- data.frame( x = rnorm(10),
                          y=rnorm(10,20) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = sample_data[sample_data$x > 0, ]
  
# print data
print("Filtered Data:")
new_data

Producción:

Sample Data:
           x        y
1   1.0356175 19.36691
2  -0.2071733 21.38060
3  -1.3449463 19.56191
4  -0.5313073 19.49135
5   1.7880192 19.52463
6  -0.7151556 19.93802
7   1.5074344 20.82541
8  -1.0754972 20.59427
9  -0.2483219 19.21103
10 -0.8892829 18.93114
Filtered Data:
        x        y
1 1.035617 19.36691
5 1.788019 19.52463
7 1.507434 20.82541
10  1.0460800 20.05319

Método 2: Quitar Fila por Condición Múltiple

Para eliminar filas de datos de un marco de datos basado en múltiples declaraciones condicionales. Usamos el cuadrado [ ] con el marco de datos y colocamos varias declaraciones condicionales junto con el operador AND u OR dentro de él. Esto divide el marco de datos y elimina todas las filas que no cumplen las condiciones dadas.

Sintaxis:

df[ sentencia-condicional & / | sentencia condicional ]

dónde,

  • df: determina el marco de datos a utilizar.
  • conditional-statement: determina la condición para filtrar datos.

Ejemplo:

En este ejemplo. se eliminan todos los puntos de datos donde la variable x es menor que cero y la variable y es menor que 19.

R

# create sample data
sample_data <- data.frame( x = rnorm(10),
                          y=rnorm(10,20) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = sample_data[sample_data$x > 0 & sample_data$y > 0.4, ]
  
# print data
print("Filtered Data:")
new_data

Producción:

Sample Data:
              x        y
1  -1.091923406 21.14056
2   0.870826346 20.83627
3   0.285727039 20.89009
4  -0.224661613 20.04137
5   0.653407459 19.01530
6   0.001760769 18.36436
7  -0.572623161 19.72691
8  -0.092852143 19.58567
9  -0.423781311 19.99482
10 -1.332091619 19.36539
Filtered Data:
            x        y
2 0.870826346 20.83627
3 0.285727039 20.89009
5 0.653407459 19.01530
6 0.001760769 18.36436

Método 3: eliminar filas mediante la función de subconjunto()

La función subset() crea un subconjunto de un marco de datos dado en función de ciertas condiciones. Esto nos ayuda a eliminar o seleccionar las filas de datos con declaraciones condicionales únicas o múltiples. La función subset() es una función incorporada del lenguaje R y no necesita importar ningún paquete de terceros.

Sintaxis:

subconjunto (df, declaración condicional)

dónde,

  • df: determina el marco de datos a utilizar.
  • conditional-statement: determina la condición para filtrar datos.

Ejemplo:

En este ejemplo. todos los puntos de datos donde la variable x es menor que 19 y la variable y es mayor que 50 se eliminan mediante la función de subconjunto.

R

# create sample data
sample_data <- data.frame( x = rnorm(10,20),
                          y=rnorm(10,50) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = subset(sample_data, sample_data$x > 19 & sample_data$y < 49 )
  
# print data
print("Filtered Data:")
new_data

Producción:

Sample Data:
          x        y
1  20.38324 51.02714
2  20.36595 50.64125
3  20.44204 52.28653
4  20.34413 50.08981
5  20.51478 49.53950
6  20.35667 48.88035
7  19.89415 49.78139
8  21.61003 49.43653
9  20.66579 49.14877
10 20.70246 50.06486
Filtered Data:
         x        y
6 20.35667 48.88035

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *