there is NA_character_
1 Like
Did you want to keep states with no hospitals in your data frame?
Hey @dromano,
I have managed to solve the issue, including states with no hospitals in my data frame. Below is my full command which now works perfectly! Thank you for all your help. Whenever there is no hospital, the program will print 'zero'.
state <- c('AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL','GA','HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VI', 'VA', 'WA', 'WV', 'WI', 'WY', 'GU')
Rankall <- function(y, z){
if (z == 'best'){ z <- 1
Emptydataframe = NULL
for (x in state){
filtered <- filter(outcomemeasures, outcomemeasures$State %in% x)
filtered <- filtered[!is.na(filtered[y]),]
datafiltered <- filtered[order(filtered[,y],filtered[,'Hospital.Name']),]
hospital <- slice(datafiltered, z)
Printname <- hospital$Hospital.Name
if (identical(Printname,character(0))) {
Printname <- "zero"} else {Printname <- Printname}
Printdataname <- data.frame(Printname)
Emptydataframe <- rbind(Emptydataframe,Printdataname)
}
Stateframe <- data.frame(state)
Overallframe <- cbind(Emptydataframe,Stateframe)
print(Overallframe)
}
else if (z == 'worst'){
Emptydataframe = NULL
for (x in state){
filtered <- filter(outcomemeasures, outcomemeasures$State %in% x)
filtered <- filtered[!is.na(filtered[y]),]
datafiltered <- filtered[order(filtered[,y],filtered[,'Hospital.Name']),]
j <- datafiltered
z <- nrow(j)
hospital <- slice(datafiltered, z)
Printname <- hospital$Hospital.Name
if (identical(Printname,character(0))) {
Printname <- "zero"} else {Printname <- Printname}
Printdataname <- data.frame(Printname)
Emptydataframe <- rbind(Emptydataframe,Printdataname)
}
Stateframe <- data.frame(state)
Overallframe <- cbind(Emptydataframe,Stateframe)
print(Overallframe)
}
else if (z != 'best' && z != 'worst'){
Emptydataframe = NULL
for (x in state){
filtered <- filter(outcomemeasures, outcomemeasures$State %in% x)
filtered <- filtered[!is.na(filtered[y]),]
datafiltered <- filtered[order(filtered[,y],filtered[,'Hospital.Name']),]
hospital <- slice(datafiltered, z)
Printname <- hospital$Hospital.Name
if (identical(Printname,character(0))) {
Printname <- "zero"} else {Printname <- Printname}
Printdataname <- data.frame(Printname)
Emptydataframe <- rbind(Emptydataframe,Printdataname)
}
Stateframe <- data.frame(state)
Overallframe <- cbind(Emptydataframe,Stateframe)
print(Overallframe)
}
}
1 Like
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.