2017-07-22 28 views
0

我有27個州的印度水質必須進行測試和繪製。執行user_defined函數後,我得到一個錯誤

state_1 <- subset(train,train$State.Name=="ANDHRA PRADESH") 
ANDHRA <- as.data.frame(table(state_1$District.Name,state_1$Quality.Parameter,state_1$Year),stringsAsFactors = FALSE) 
str(ANDHRA) 
names(ANDHRA) <- c("District.Name","CHEMICAL","YEAR") 
an <- ggplot(ANDHRA,aes(ANDHRA$CHEMICAL,ANDHRA$Freq,fill=ANDHRA$District.Name)) 
an+geom_bar(stat="identity",position = "dodge")+facet_grid(.~ANDHRA$YEAR)+ 
labs(title="TREND of Chemical Compostion in Andhra Pradesh Villages",x="Chemicals",y="Number Of Cases",fill="Districts in Andhra Pradesh") 

因此,我創建了一個用戶定義的函數,它加載到全球環境沒有錯誤。

district_analysis<-function(a,b,d) { 
b<- subset(train,train$State.Name=="a") 
d<- as.data.frame(table(b$District.Name,b$Quality.Parameter,b$Year),stringsAsFactors = FALSE) 
names(d) <- c("District.Name","CHEMICAL","YEAR") 
an <- ggplot(d,aes(d$CHEMICAL,d$Freq,fill=d$District.Name)) 
an+geom_bar(stat="identity",position = "dodge")+facet_grid(.~d$YEAR)+labs(title=paste0("TREND of Chemical Compostion in ", a, " Villages"),x="Chemicals",y="Number Of Cases",fill=paste0("Districts in", a)) 
return(an) } 

所以我傳遞數據的參數,但我得到這個錯誤。

> district_analysis(KERALA,bb,dd) 
Error in labs(title = "TREND of Chemical Compostion in ", a, " Villages", : 
object 'KERALA' not found 
Called from: labs(title = "TREND of Chemical Compostion in ", a, " Villages", 
x = "Chemicals", y = "Number Of Cases", fill = "Districts in", 
a) 
Browse[1]> n 

可能是什麼原因呢?

編輯

------現在錯誤------
看來其不標識 「KERALA」 作爲對象。

+0

正如錯誤所述,'d'中的列數是3而傳遞4個元素的向量作爲'names' – akrun

+0

你有許多字符串和引號的問題 - 在你的函數中,有:train $ state.Name ==「a」'你可能想要一個。另外,你應該引用你的'KERALA'輸入 – jeremycg

+0

你是絕對正確的,但是當我用雙引號傳遞參數時也是如此。我得到一個沒有任何關於它的情節。你可以檢查代碼。我相信標題標籤也沒有返回值 – danishxr

回答

0

錯誤很簡單。您需要定義3個名稱而不是4個(我沒有在表格中看到CHEMICAL/Freq,您正在錯誤的上面創建一行)

+0

是的,我編輯過。現在它無法識別我通過的州名。請幫助。 – danishxr

相關問題