2017-07-22 17 views
0

コードの下の塊は、2009年までのインドの特定の州のすべての地区の水化学組成の分析に使用されます。 trainは親データです。化学物質に関する情報コードに固有のユーザ定義関数を作成するエラー

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()関数内にあるべきではありません。

これが役に立ちます。

+0

wowそれはうまくいったが、今は別の部分に詰まっている>> district_analysis(KERALA、state_2、kk) 名前の誤り(d)< - c( "District.Name"、 "CHEMICAL"、 "YEAR "、" Freq "): 'names'属性[4]はベクトルと同じ長さでなければならない[3]' any idea @Florian – danishxr

関連する問題