簡體   English   中英

R中未定義的列選擇錯誤消息

[英]undefined columns selected error message in R

我對R很陌生,並且使用別人寫的腳本。 以下是我收到錯誤消息的腳本的一部分:

[.data.frame (this.df.merged,c(“ MMWR_week”,“ Syndrome Visits,”的錯誤:未選擇未定義的列

我查找了其他對類似問題的答復,但找不到真正的解決方案。 任何幫助將不勝感激。

if (!("other" %in% colnames(this.df.merged))) {
    this.df.merged$other<-0
}

this.df.merged.by_week<-aggregate(this.df.merged[c("Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")],by=list(this.df.merged$MMWR_week),sum)
colnames(this.df.merged.by_week)<-c("MMWR_week","Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")
write.csv(this.df.merged.by_week, file=paste(this.diseaseName,"_Count_Query_Summary_Table_by_Week_",this.beginDate,"_",this.endDate,".csv",sep=""))

return(this.df.merged)

}

發生這種情況是因為this.df.merged可能不包含向量c("Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")中的名稱之一c("Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")

我建議檢查名稱是否存在和/或在this.df.merged中是否正確拼寫。 這是一些示例代碼來檢查名稱是否存在。 由您決定它們為什么不存在,在此之前它們會在代碼的其他地方發生

if (!("other" %in% colnames(this.df.merged))) {
    this.df.merged$other<-0
}

namevector=c("Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")

n=colnames(this.df.merged)

tmp=sapply(namevector,function(x){
            if(!any(n==x)){
               print(paste(x,"not found"))
               return(TRUE)
            }
            return(FALSE)
           })
if(any(tmp))stop("some column names not found")


this.df.merged.by_week<-aggregate(this.df.merged[c("Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")],by=list(this.df.merged$MMWR_week),sum)
colnames(this.df.merged.by_week)<-c("MMWR_week","Syndrome Visits","E","other","0-4","25-49","5-24","50-64","over 64","F","M","U","Admit","Disch")
write.csv(this.df.merged.by_week,file=paste(this.diseaseName,"_Count_Query_Summary_Table_by_Week_",this.beginDate,"_",this.endDate,".csv",sep=""))

return(this.df.merged)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM