Je suis en train d'ajouter une nouvelle colonne (la couleur) de mon bloc de données. La valeur de la ligne dépend de la valeur dans les deux autres colonnes. Par exemple, lorsque la valeur de classe est égale à 4 et le Metro_status valeur est égale à la Métro, je veux une valeur spécifique retourné dans la ligne correspondante dans la nouvelle colonne. J'ai essayé de le faire avec case_when à l'aide de dplyr et cela a fonctionné... dans une certaine mesure.
La majorité des valeurs de couleur de sortie dans la colonne de couleur ne sont pas alignées avec les conditions définies. Par exemple, les premières rangées (Nome Zone de Recensement) valeur de couleur doit être "#fcc48b"
mais au lieu de cela est "#d68182"
.
Ce que je fais mal?? TIA!
Voici mon code:
#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
retourner TRUE pour toutes les combinaisons deClass
etMetro_Status
sauf pourMetro_Status == "NA"