Contenido de este artículo
- 0
- 0
- 0
- 0
Actualizado el 17 de julio de 2024, por Luis Benites.
La función ifelse () en la base R se puede usar para escribir declaraciones rápidas if-else. Esta función utiliza la siguiente sintaxis:
ifelse (prueba, sí, no)
dónde:
- prueba: una prueba lógica
- sí: el valor que se devolverá si la prueba lógica es verdadera
- no: el valor que se devolverá si la prueba lógica es falsa
Este tutorial explica cómo usar esta función para escribir declaraciones if else junto con declaraciones if else anidadas en R, usando el siguiente marco de datos:
#create marco de datos df <- data.frame (equipo = c ('A', 'A', 'B', 'B', 'B', 'C', 'D'), puntos = c (4, 7, 8, 8, 8, 9, 12), rebotes = c (3, 3, 4, 4, 6, 7, 7)) #ver marco de datos df rebotes de puntos de equipo 1 A 4 3 2 A 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
Ejemplo 1: Cómo escribir una declaración If Else básica
El siguiente código muestra cómo crear una nueva columna en el marco de datos cuyo valor se basa en el valor de la columna ‘equipo’:
#crear una nueva columna en el marco de datos df $ rating <- ifelse (df $ team == ' A ', ' great ', ' bad ') #ver marco de datos df puntuación de rebotes de puntos de equipo 1 A 4 3 genial 2 A 7 3 genial 3 B 8 4 malo 4 B 8 4 malo 5 B 8 6 malo 6 C 9 7 malo 7 D 12 7 malo
Esta simple declaración ifelse le dice a R que haga lo siguiente:
- Si el valor en la columna del equipo es ‘A’, entonces déle al jugador una calificación de ‘excelente’.
- De lo contrario, dale al jugador una calificación de «malo».
Ejemplo 2: Cómo escribir una instrucción If Else anidada
El siguiente código muestra cómo crear una nueva columna en el marco de datos escribiendo una declaración if else anidada:
#crear una nueva columna en el marco de datos df $ rating <- ifelse (df $ team == ' A ', ' great ', ifelse (df $ team == ' B ', ' OK ', ' bad ')) #ver marco de datos df puntuación de rebotes de puntos de equipo 1 A 4 3 genial 2 A 7 3 genial 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 malo 7 D 12 7 malo
Esta instrucción ifelse anidada le dice a R que haga lo siguiente:
- Si el valor en la columna del equipo es ‘A’, entonces déle al jugador una calificación de ‘excelente’.
- De lo contrario, si el valor en la columna del equipo es ‘B’, entonces déle al jugador una calificación de ‘OK’.
- De lo contrario, dale al jugador una calificación de «malo».
Ejemplo 3: Cómo escribir declaraciones If más anidadas más largas
El siguiente código muestra cómo crear una nueva columna en el marco de datos escribiendo una declaración if else anidada aún más larga:
#crear una nueva columna en el marco de datos df $ rating <- ifelse (df $ team == ' A ', ' great ', ifelse (df $ team == ' B ', ' OK ', ifelse (df $ team == ' C ',' decente ',' malo '))) #ver marco de datos df puntuación de rebotes de puntos de equipo 1 A 4 3 genial 2 A 7 3 genial 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decente 7 D 12 7 malo
Esta instrucción ifelse anidada le dice a R que haga lo siguiente:
- Si el valor en la columna del equipo es ‘A’, entonces déle al jugador una calificación de ‘excelente’.
- De lo contrario, si el valor en la columna del equipo es ‘B’, entonces déle al jugador una calificación de ‘OK’.
- De lo contrario, si el valor en la columna del equipo es ‘C’, entonces déle al jugador una calificación de ‘decente’.
- De lo contrario, dale al jugador una calificación de «malo».
Tenga en cuenta que puede usar este patrón exacto para escribir declaraciones ifelse anidadas todo el tiempo que desee.
Puede encontrar más tutoriales de R aquí .
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: