Similar to another question asked on here, I get the error message in the subject line. I attempted to use it's remedy to fix my problem but I was not able to do so. Here is my code:
#Change the format of IED deaths to be uniform
USdata$Cause[USdata$Cause=="Hostile - hostile fire - IED attack" | USdata$Cause=="Hostile - hostile fire - IED attack (suicide attack)" | USdata$Cause=="Hostile - hostile fire - IED attack (suicide car bomb)" | USdata$Cause=="Hostile - hostile fire - IED attack (while defusing)" | USdata$Cause=="Hostile - hostile fire - IED attack, RPG" | USdata$Cause=="Hostile - hostile fire - IED attack, RPG, small arms fire" | USdata$Cause=="Hostile - hostile fire - IED Attack, small arms fire" | USdata$Cause=="Hostile - hostile fire - IED Attack, small arms fire, indirect fire"] <- "Hostile - IED Attack"
Warning message:
In `[<-.factor`(`*tmp*`, USdata$Cause == "Hostile - hostile fire - IED attack" | :
invalid factor level, NA generated
I see when I do a summary of my attempted new value, "Hostile - IED Attack", I get everything returned as NA's. I was able to do something similar with other values but this one isn't working so easily. Thanks.
Convert it from a factor first, do the change and re-convert it back. Also, %in%
might work better for you in the long run:
ied_causes <- c("Hostile - hostile fire - IED attack",
"Hostile - hostile fire - IED attack (suicide attack)",
"Hostile - hostile fire - IED attack (suicide car bomb)",
"Hostile - hostile fire - IED attack (while defusing)",
"Hostile - hostile fire - IED attack, RPG",
"Hostile - hostile fire - IED attack, RPG, small arms fire",
"Hostile - hostile fire - IED Attack, small arms fire",
"Hostile - hostile fire - IED Attack, small arms fire, indirect fire")
USdata$Cause <- as.character(USdata$Cause)
USdata$Cause[USdata$Cause %in% ied_causes] <- "Hostile - IED Attack"
USdata$Cause <- factor(USdata$Cause)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With