En este artículo, discutiremos cómo seleccionar filas en el marco de datos que contiene valores positivos y negativos en el lenguaje de programación R. Pongamos un ejemplo para una mejor comprensión.
Suponga que tiene el siguiente marco de datos en R que contiene varias columnas y filas. Todas las filas contienen valores negativos o valores positivos o tal vez ambos de la siguiente manera.
Trama de datos en uso:
|
temp_1 |
temp_2 |
temp_3 |
temp_4 |
temp_5 |
---|---|---|---|---|---|
1. |
-74 |
88 |
39 |
-64 |
-83 |
2. |
-89 |
52 |
37 |
-26 |
-39 |
3. |
34 |
-28 |
-39 |
-54 |
-53 |
4. |
-82 |
-19 |
-64 |
-33 |
-20 |
5. |
-64 |
39 |
-93 |
-43 |
-31 |
6. |
92 |
86 |
44 |
23 |
82 |
7. |
-67 |
-31 |
38 |
63 |
-17 |
Entonces, nuestra tarea es seleccionar solo aquellas filas que contienen valores tanto positivos como negativos. Después de seleccionar los valores, nuestro marco de datos debería verse así.
Rendimiento esperado:
|
temp_1 |
temp_2 |
temp_3 |
temp_4 |
temp_5 |
---|---|---|---|---|---|
1. |
-74 |
88 |
39 |
-64 |
-83 |
2. |
-89 |
52 |
37 |
-26 |
-39 |
3. |
34 |
-28 |
-39 |
-54 |
-53 |
5. |
-64 |
39 |
-93 |
-43 |
-31 |
7. |
-67 |
-31 |
38 |
63 |
-17 |
Vamos a tomar un subconjunto del marco de datos si y solo hay alguna fila que contenga valores mayores que 0 y menores que 0, de lo contrario, no lo consideraremos.
Sintaxis:
subconjunto(x,(rowSums(signo(x)<0)>0) & (rowSums(signo(x)>0)>0))
Aquí, x es el nombre del marco de datos.
Acercarse:
- Crear conjunto de datos
- Aplicar subconjunto()
- Seleccionar filas con valores negativos y positivos
- Mostrar esas filas
Ejemplo:
R
# To select rows in dataframe # that contains both positive and negative values # Creating dataset # creating fisrs column first <- c(-74,-89,34,-82,-64,92,-67) # creating second column second <- c(88,52,-28,-19,39,86,-31) # creating third column third <- c(39,37,-39,-64,-93,44,38) # creating fourth column fourth <- c(-64,-26,-54,-33,-43,23,63) # creating fifth column fifth <- c(-83,-39,-53,-20,-31,82,-17) # creating dataframe x <- data.frame(temp_1=first, temp_2=second,temp_3=third, temp_4=fourth,temp_5=fifth) # checking if there exist a row with # both positive and negative values subset(x,(rowSums(sign(x)<0)>0) & (rowSums(sign(x)>0)>0))
Producción:
Publicación traducida automáticamente
Artículo escrito por arpit122000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA