R 在执行用户定义的函数后,我得到一个错误

R 在执行用户定义的函数后,我得到一个错误,r,R,我在印度有27个州,必须测试和绘制水质图 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.N

我在印度有27个州,必须测试和绘制水质图

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

原因可能是什么

已编辑

------现在是错误------

似乎它没有将“喀拉拉”识别为物体。

错误是直截了当的。您需要定义3个名称,而不是4个(我没有看到您正在创建的表中的
CHEMICAL
/
Freq
),如错误所示,“d”中的列数为3,而传递的是4个元素的向量作为
名称
字符串和引号有很多问题-在函数中,
有:train$State.Name==“a”
可能需要a的地方。另外,你可能应该引用你的“喀拉拉”输入,你是绝对正确的,但是当我用双引号传递参数时。我得到了一个没有任何内容的图。你能检查一下代码吗。我相信标题标签也没有返回值是的,我已经编辑过了。现在它无法识别我通过的州名称。请帮助。
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