2
Before I had made an extremely large code to be able to extract the results I expected, but the code got quite slow and with that, I’m trying to optimize it:
Previous code:
Rent division
Sem_Rendimento<-filter(Renda, Renda[,2]=="Sem rendimento")
Sem_Rendimento_soma<-apply(Sem_Rendimento[,3:6],2,sum)
Res_Sem_Rendimento<-sum(Sem_Rendimento_soma)
Até_umquarto<-filter(Renda, Renda[,2]=="Até 1/4 de salário mínimo")
Até_umquarto_soma<-apply(Até_umquarto[1:27,3:6],c(2),sum)
Res_Até_umquarto<-sum(Até_umquarto_soma)
Entre_umquarto_ummeio<-filter(Renda, Renda[,2]=="Mais de 1/4 a 1/2 salário mínimo")
Entre_umquarto_ummeio_soma<-apply(Entre_umquarto_ummeio[1:27,3:6],c(2),sum)
Res_Entre_umquarto_ummeio<-sum(Entre_umquarto_ummeio_soma)
Entre_ummeio_um<-filter(Renda, Renda[,2]=="Mais de 1/2 a 1 salário mínimo")
Entre_ummeio_um_soma<-apply(Entre_ummeio_um[1:27,3:6],c(2),sum)
Res_Entre_ummeio_um<-sum(Entre_ummeio_um_soma)
Entre_um_dois<-filter(Renda, Renda[,2]=="Mais de 1 a 2 salários mínimos")
Entre_um_dois_soma<-apply(Entre_um_dois[1:27,3:6],c(2),sum)
Res_Entre_um_dois<-sum(Entre_um_dois_soma)
Entre_dois_três<-filter(Renda, Renda[,2]=="Mais de 2 a 3 salários mínimos")
Entre_dois_três_soma<-apply(Entre_dois_três[1:27,3:6],c(2),sum)
Res_Entre_dois_três<-sum(Entre_dois_três_soma)
Entre_tres_cinco<-filter(Renda, Renda[,2]=="Mais de 3 a 5 salários mínimos")
Entre_tres_cinco_soma<-apply(Entre_tres_cinco[1:27,3:6],c(2),sum)
Res_Entre_tres_cinco<-sum(Entre_tres_cinco_soma)
Entre_5_10<-filter(Renda, Renda[,2]=="Mais de 5 a 10 salários mínimos")
Entre_5_10_soma<-apply(Entre_5_10[1:27,3:6],c(2),sum)
Res_Entre_5_10<-sum(Entre_5_10_soma)
Entre_10_15<-filter(Renda, Renda[,2]=="Mais de 10 a 15 salários mínimos")
Entre_10_15_soma<-apply(Entre_10_15[1:27,3:6],c(2),sum)
Res_Entre_10_15<- sum(Entre_10_15_soma)
etc etc etc
The recent code I’m trying is this:
renda<-NULL
Soma_renda<-NULL
resultado_renda<-NULL
for(h in 1:12)
for(i in 1:length(Renda$Classes.de.rendimento.nominal.mensal))
for(j in 1:length(Renda$Classes.de.rendimento.nominal.mensal))
for(k in 1:12)
{{{{
renda(h)<- c(Renda[i,])
i<-i+12
Soma_renda(j)<-apply(renda(h)[1:27,3:6],c(2),sum)
resultado_renda(k)<-sum(Soma_renda(j))
Resultados_totais<- c(resultado_renda(k))
}}}}
The problem is, when I send the code to run, I get this message from R:
Error in income(h) <- c(Income[i, ]) : could not find Function "rent<-"
Thanks in advance!
renda(h)
implies thatrenda
is a function. In this case the function concerned is the assignment functionrenda<-
. But the definition in the code isrenda <- NULL
, that is to say,renda
is a vector. It will not be beforerenda[h]
?– Rui Barradas
And the same can be said of
Soma_renda(j)
andresultado_renda(k)
. I bet it’sSoma_renda[j]
andresultado_renda[k]
.– Rui Barradas
Thanks, I did another way, I created a Function of the functions I used above, and with that I made decreases the size of the program.
– Yan Liao Amorelli