我使用Win7的64倍Rstudio版本3.3.2Coursera分配3
下面的函數「通過結果的狀態排名醫院」是coursera分配3的解決方案,我已經通過看其他人的解決方案創建的。 我有2個問題。
best <- function(state, outcome) {
data<-read.csv('outcome-of-care-measures.csv',colClasses = 'character')
frame<-as.data.frame(cbind(data[,2],
data[,7],
data[,11],
data[,17],
data[,23]),
stringsAsFactors=FALSE)
colnames(frame)<-c('hospital','state','heart attack','heart failure',
'pneumonia')
if(!state %in% frame[,'state']){
stop('invalid state')
}
else if(!outcome %in% c('hostpital','state','heart attack','heart failure',
'pneumonia')){
stop('invalid outcome')
}
else{
wh<-which(frame[,'state']==state)
cr<-frame[wh,]
num<-as.numeric(cr[,outcome])
minval<-min(num, na.rm=TRUE)
result<-cr[,'hospital'][which(num==minval)]
output<-result[order(result)]
}
return(output)
}
在此功能中,首先,我不知道用 「stringAsFactors = FALSE」 的。
frame<-as.data.frame(cbind(data[,2],
data[,7],
data[,11],
data[,17],
data[,23]),
**stringsAsFactors=FALSE**)
我已經通過「read.csv」 stingAsFactors「讀幫助文檔,我不明白。
當我刪除這個( 'stingAsFactors = FALSE'/函數的名字是BEST2),回報是
BEST2( 'SC', '心臟發作')
[1] MUSC MEDICAL CENTER
4510 Levels: ABBEVILLE AREA MEDICAL CENTER ABBEVILLE GENERAL HOSPITAL ... ZUNI COMPREHENSIVE COMMUNITY HEALTH CENTER
當我不刪除此,回報是
最佳( 'SC', '心臟發作')
[1] "MUSC MEDICAL CENTER"
Warning message: In best("SC", "heart attack") : NAs introduced by coercion
第二個問題,
result<-cr[,'hospital'][which(num==minval)]
方括號中會出現一個接一個?在這種情況下,'cr數據'是否適用於兩個方括號?
如果你能分辨出這個問題,我將非常感激。
謝謝。我知道如何使用'stringsAsFactors'。 我將新創建一個自己的作業,而不是作弊。非常感謝你 :) – JeongHansol