Estoy tratando de agregar una nueva columna (color) a mi la trama de datos. El valor en la fila depende de los valores de dos columnas. Por ejemplo, cuando el valor de la clase es igual a 4 y la Metro_status valor es igual a Metro, quiero un determinado valor devuelto en la fila correspondiente en la columna nueva. He intentado hacer esto con case_when utilizando dplyr y funcionó... hasta un punto.
La mayoría de los valores de color aparece en la columna color no se alinean con las condiciones definidas. Por ejemplo, las primeras filas (Nome Censo de Área) valor de color debe ser "#fcc48b"
pero en su lugar se "#d68182"
.
¿Qué estoy haciendo mal?? TIA!
Aquí está mi código:
#set working directory
setwd("C:/Users/weirc/OneDrive/Desktop/Undergrad Courses/Fall 2021 Classes/GHY 3814/final project/data")
#load packages
library(readr)
library(dplyr)
#load data
counties <- read_csv("vaxData_counties.csv")
#create new column for class
updated_county_data <- counties %>%
mutate(class = case_when(
Series_Complete >=75 ~ 4,
Series_Complete >= 50 ~ 3,
Series_Complete >= 25 ~ 2,
TRUE ~ 1
), color = case_when(
class == 4 | Metro_status == 'Metro' ~ '#d62023',
class == 4 | Metro_status == 'Non-metro' ~ '#d68182',
class == 3 | Metro_status == 'Metro' ~ '#fc9126',
class == 3 | Metro_status == 'Non-metro' ~ '#fcc48b',
class == 2 | Metro_status == 'Metro' ~ '#83d921',
class == 2 | Metro_status == 'Non-metro' ~ '#abd977',
class == 1 | Metro_status == 'NA' ~ '#7a7a7a'
))
View(updated_county_data)
write.csv(updated_county_data, file="county_data_manip/updated_county_data.csv")
class == 4
devolver TRUE para todas las combinaciones deClass
yMetro_Status
excepto paraMetro_Status == "NA"