看板 R_Language 關於我們 聯絡資訊
※ 引述《Edster (Edster)》之銘言: : best <- function(x, y){ : z <- c("heart attack", "heart failure", "pneumonia") : outcome <- read.csv(file="outcome-of-care-measures.csv", header=T, as.is=T) : SS <- as.numeric(outcome[,11]) : if (! (x %in% outcome$State) | ! (y %in% z)){ : stop("Error in best(state, outcome) : invalid state") : } : if (y == "heart attack"){ : select = outcome$State == x & !is.na(SS); o = order(SS) : result <- outcome[o[select],c(1,2)] : print(paste("best (", result, ") heart attack")) : } : } 請問從倒數第三行(select = outcome$State....)之後, 為何我用 o <- order(SS[select]) outcome.order <- outcome[o, ] 結果outcome.order還是有NA值存在? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.163.115 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1414939348.A.EBB.html
Edster: 看來問題出現在order. 那麼就得要老老實實的把 11/04 23:26
Edster: order 跟 is.na 分開了. 11/04 23:26
Edster: outcome = outcome[order(as.numeric(outcome[,11])),] 11/04 23:51
Edster: select = outcome$State == x & !is.na( 11/04 23:53
Edster: (as.numeric(outcome[,11])) 11/04 23:53
Edster: result <- outcome[select,c(1,2)] 11/04 23:53
Edster: 變得有點醜... 現下也想不到更好的方式. 11/04 23:55