Seleccione las filas del marco de datos donde los valores de columna están en el rango en R

En este artículo, discutiremos cómo seleccionar filas de marcos de datos donde los valores de columna están en un rango en el lenguaje de programación R.

La indexación del marco de datos se puede utilizar para extraer filas o columnas del marco de datos. La condición se puede aplicar a las columnas específicas del marco de datos y se puede combinar mediante el operador lógico. Los valores lógicos en términos de VERDADERO o FALSO se devuelven donde los valores VERDADEROS indican las filas que cumplen la condición. A continuación, las filas seleccionadas se extraen mediante los índices de fila devueltos. 

Sintaxis:

marco de datos [condición para definir el rango]

Ejemplo: Seleccionar filas donde los valores de columna están en el rango

R

# create first dataframe
data_frame1 < -data.frame(col1=c(rep('Grp1', 2),
                                 rep('Grp2', 2),
                                 rep('Grp3', 2)),
                          col2=rep(1: 3, 2),
                          col3=rep(1: 2, 3),
                          col4=letters[1:6]
                          )
  
print("Original DataFrame")
print(data_frame1)
  
filtered_rows < - data_frame1$col2 >= 2 & data_frame1$col2 < 4
data_frame_mod < - data_frame1[filtered_rows, ]
  
print("Extracted DataFrame")
print(data_frame_mod)

Producción:

[1] "Original DataFrame" 
col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
4 Grp2    1    2    d 
5 Grp3    2    1    e 
6 Grp3    3    2    f 
[1] "Extracted DataFrame" 
col1 col2 col3 col4 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
5 Grp3    2    1    e 
6 Grp3    3    2    f

Las condiciones también se pueden aplicar a varias columnas del marco de datos y conectarse mediante un operador lógico. 

Ejemplo: Seleccionar columnas aplicando condiciones sobre varias columnas. 

R

# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
                               rep('Grp2',2),
                               rep('Grp3',2)), 
                        col2=rep(1:3,2),
                        col3=rep(1:2,3),
                        col4 = letters[1:6]
                        )
  
print("Original DataFrame")
print(data_frame1)
  
filtered_rows <- data_frame1$col4 == 'a' | data_frame1$col3==2
data_frame_mod <- data_frame1[filtered_rows ,]
  
print("Extracted DataFrame")
print(data_frame_mod)

Producción:

[1] "Original DataFrame" 
col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
4 Grp2    1    2    d 
5 Grp3    2    1    e 
6 Grp3    3    2    f 
[1] "Extracted DataFrame" 
 col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
4 Grp2    1    2    d 
6 Grp3    3    2    f

Publicación traducida automáticamente

Artículo escrito por yashchuahan 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 *