Why R is not finding the created function

Asked

Viewed 51 times

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 that renda is a function. In this case the function concerned is the assignment function renda<-. But the definition in the code is renda <- NULL, that is to say, renda is a vector. It will not be before renda[h]?

  • And the same can be said of Soma_renda(j) and resultado_renda(k). I bet it’s Soma_renda[j] and resultado_renda[k].

  • 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.

1 answer

1

Why no function has been defined. Read this

Browser other questions tagged

You are not signed in. Login or sign up in order to post.