2017-07-22 29 views
0

以下代碼塊用於分析印度特定州至2009年的所有地區的水化學成分:2012 train是父級數據Quality.Parameter給出關於化學品創建特定於我的代碼的用戶定義函數的錯誤

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","Freq") 
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") 

信息我有大約27印度各邦和希望來分析上面的代碼情節此水的化學品。

table(train$State.Name) 

    ANDHRA PRADESH ARUNACHAL PRADESH    ASSAM    BIHAR  CHATTISGARH  CHHATTISGARH 
     2888    612    79910    92336    25062    8815 
     GUJARAT   HARYANA HIMACHAL PRADESH JAMMU AND KASHMIR   JHARKHAND   KARNATAKA 
     2092    262    88    67    3913    30824 
     KERALA MADHYA PRADESH  MAHARASHTRA   MANIPUR   MEGHALAYA   NAGALAND 
     4800    14449    12480    14    427    618 
     ORISSA  PUDUCHERRY   PUNJAB   RAJASTHAN  TAMIL NADU   TRIPURA 
     68620    17    1056   131417    3164    26235 
UTTAR PRADESH  UTTARAKHAND  WEST BENGAL 
     9918    57    30101 

而是一次又一次地編寫代碼爲所有不同狀態的我創建了一個用戶定義的函數

但試圖運行我得到的錯誤,因爲這

功能
> 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","Freq") 
+  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="TREND of Chemical Compostion in" a "Villages",x="Chemicals",y="Number Of Cases",fill="Districts in" a) 
Error: unexpected symbol in: 
" 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="TREND of Chemical Compostion in" a" 
> return(an) } 
Error: unexpected '}' in " return(an) }" 

我無法找出原因,請給我建議我的代碼編輯。

回答

0

忘記粘貼字符串。

+labs(title="TREND of Chemical Compostion in" a "Villages" 

不工作,那應該是:

+labs(title=paste0("TREND of Chemical Compostion in ", a, " Villages") 

,使之成爲一個字符串。這同樣適用於fill參數,實際上我甚至不確定你是否可以用這種方式使用參數,它不應該在你的labs()函數中。

希望這會有所幫助。 (d)< - c(「District.Name」,「CHEMICAL」,「YEAR」)中的錯誤(錯誤代碼:

+0

)哇它確實有效,但現在我陷入其他部分'> district_analysis(KERALA,state_2,kk) 「,」Freq「): 'names'屬性[4]的長度必須與矢量[3]的長度相同'any idea @Florian – danishxr

相關問題