Я работаю над проблемой с курса и, кажется, теряюсь в конце, где мне нужно извлечь оба выбранных столбца и вернуть фрейм данных, есть ссылка на аналогичную проблему по адресу (Пустые строки в списке как значения NA в data.frame в R )
rankall <- function(outcome, num = 'best'){
data<- read.csv('outcome-of-care-measures.csv', colClasses = 'character')
if(!outcome %in% c('heart attack', 'heart failure', 'penumonia')){
stop('invalid outcome')
}
states <- sort(unique(state))
for (i in 1:length(state)){
statedata <- data[data$State == state[i], ]
if(outcome == 'heart attack'){
index <- as.numeric(statedata[,11])
} else if(outcome == 'heart failure'){
index <- as.numeric(statedata[,17])
} else if(outcome == 'pneumonia'){
index <- as.numeric(statedata[,23])
}
#sort by mortality rate and hospital name
sorteddata <- data[order(data[,index],data$Hospital.Name, na.rm = TRUE)]
#rank by state
staterank <- function(state){
hospital_state <- subset(sorteddata, State == state)
}
#choose rows at each num value, this where I get stuck
if(!is.numeric(num)){
if(num == 'best'){
num <- 1}
else if(num == 'worst'){
num <- length(hospital_state)}
}
hospital_state[num]
}