-1
I want to average the sum of 2 columns of the following base:
> dput(head(censo3))
structure(list(UF = c("Rondônia", "Rondônia", "Rondônia", "Rondônia",
"Rondônia", "Rondônia"), Direção.dos.trabalhos.do.estabelecimento.agropecuário = c("Produtor(a) titular diretamente",
"Produtor(a) titular diretamente", "Produtor(a) titular diretamente",
"Produtor(a) titular diretamente", "Produtor(a) titular diretamente",
"Produtor(a) titular diretamente"), Grupos.de.área.total = c("Mais de 0 a menos de 0,1 ha",
"Mais de 0 a menos de 0,1 ha", "Mais de 0 a menos de 0,1 ha",
"Mais de 0 a menos de 0,1 ha", "Mais de 0 a menos de 0,1 ha",
"Mais de 0 a menos de 0,1 ha"), Utilização.das.terras = c("Lavouras - permanentes",
"Lavouras - permanentes", "Lavouras - temporárias", "Lavouras - temporárias",
"Lavouras - área para cultivo de flores", "Pastagens - naturais"
), Utilização.das.terras..1. = c("Lavouras ", "Lavouras ", "Lavouras ",
"Lavouras ", "Lavouras ", "Pastagens "), Utilização.das.terras..2. = c(" permanentes",
" permanentes", " temporárias", " temporárias", " área para cultivo de flores",
" naturais"), Condição.legal.do.produtor = c("Produtor individual",
"Condomínio, consórcio ou união de pessoas (inclusive casal, quando os dois forem responsáveis pela direção)",
"Produtor individual", "Condomínio, consórcio ou união de pessoas (inclusive casal, quando os dois forem responsáveis pela direção)",
"Produtor individual", "Produtor individual"), Nº.dos.estabelecimentos.agropecuários.com.área..Unidade. = c("29",
"4", "46", "6", "8", "5"), Área.dos.estabelecimentos.agropecuários..hectares. = c("X",
"X", "X", "X", "X", "X", "50", "40"), Mínimo = c("0", "0", "0", "0", "0",
"0"), Máximo = c("0,1", "0,1", "0,1", "0,1", "0,1", "0,1")), row.names = c(1L,
2L, 9L, 10L, 17L, 25L), class = "data.frame")
>
In which: When the column "Area of establishments" is equal to X, the average will be the sum of the column "Minimum" and Maximum" /2.
When the column "Area of establishments" is equal to a no, the average will be the division of the column "Area of establishments" by column "Number of establishments"
How can I take this average? My data frame has the following structure:
> str(censo3)
'data.frame': 42534 obs. of 11 variables:
$ UF : chr "Rondônia" "Rondônia" "Rondônia" "Rondônia" ...
$ Direção.dos.trabalhos.do.estabelecimento.agropecuário : chr "Produtor(a) titular diretamente" "Produtor(a) titular diretamente" "Produtor(a) titular diretamente" "Produtor(a) titular diretamente" ...
$ Grupos.de.área.total : chr "Mais de 0 a menos de 0,1 ha" "Mais de 0 a menos de 0,1 ha" "Mais de 0 a menos de 0,1 ha" "Mais de 0 a menos de 0,1 ha" ...
$ Utilização.das.terras : chr "Lavouras - permanentes" "Lavouras - permanentes" "Lavouras - temporárias" "Lavouras - temporárias" ...
$ Utilização.das.terras..1. : chr "Lavouras " "Lavouras " "Lavouras " "Lavouras " ...
$ Utilização.das.terras..2. : chr " permanentes" " permanentes" " temporárias" " temporárias" ...
$ Condição.legal.do.produtor : chr "Produtor individual" "Condomínio, consórcio ou união de pessoas (inclusive casal, quando os dois forem responsáveis pela direção)" "Produtor individual" "Condomínio, consórcio ou união de pessoas (inclusive casal, quando os dois forem responsáveis pela direção)" ...
$ Nº.dos.estabelecimentos.agropecuários.com.área..Unidade.: chr "29" "4" "46" "6" ...
$ Área.dos.estabelecimentos.agropecuários..hectares. : chr "X" "X" "X" "X" ...
$ Mínimo : chr "0" "0" "0" "0" ...
$ Máximo : chr "0,1" "0,1" "0,1" "0,1" ...
Where X is, I also want to calculate the average, however, by the sum of the columns "Maximum" and "Minimum" divided by 2
– Ingled M Cardoso
@Ingledmcardoso Yes, that’s what code does.
– Rui Barradas
Sorry, I mean that when the column "Area of establishments" is a number, it is being calculated, but not the average. When the column "Area of establishments" is equal to a no, the average will be the division of the column "Area of establishments" by column "Number of establishments"
– Ingled M Cardoso
When you have a number in the area column, this adding up area and number of establishments and dividing by 2, as well as when it is X and summing up Minimum and maximum and divided by 2, but in the case where you have a number only the division of the Area column by the Number of establishments column
– Ingled M Cardoso
@Ingledmcardoso You’re right, sorry, I hadn’t noticed. Now you’re
area.est/num.est
.– Rui Barradas