Sto cercando di aggiungere una nuova colonna (a colori) a mio frame di dati. Il valore nella riga dipende dai valori in due altre colonne. Per esempio, quando il valore di classe è pari a 4 e il Metro_status valore è uguale a della Metropolitana, voglio uno specifico valore restituito nella corrispondente riga della colonna. Ho provato a fare questo con case_when utilizzando dplyr e ha funzionato... a un certo punto.
La maggior parte dei valori di colore riprodotto nella colonna colore non in linea con le condizioni definite. Per esempio, la prima riga (Nome Census Area) colore dovrebbe essere "#fcc48b"
ma invece è "#d68182"
.
Che cosa sto facendo di sbagliato?? TIA!
Ecco il mio codice:
#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
return TRUE per tutte le combinazioni diClass
eMetro_Status
fatta eccezione perMetro_Status == "NA"