Sum rows with NAs

I am trying to sum (row by row) the values on some columns and generate a new column with the result of the sum

Simply put, it would be this formula:
mydata$econconditions <- mydata$crisis_change + mydata$crisis_fdi +mydata$crisis_gdp + mydata$crisis_gdpgrowth + mydata$crisis_gdppercapita + mydata$crisis_inflation + mydata$crisis_unemployment
However, it does not work because I have NAs on some columns.

I have tried to use sum(), sumRow(), sumRows(), but they are not working

The reprex is:

data.frame(
     stringsAsFactors = FALSE,
                 bill = c("Acuerdo complementario al acuerdo de asistencia jurídica mutua en asuntos penales entre los Estados Partes del Mercosur y la República de Bolivia y la República de Chile",
                          "Acuerdo complementario al Protocolo de asistencia jurídica mutua en asuntos penales entre los Estados Partes del Mercosur",
                          "Acuerdo complementario al Protocolo de cooperación y asistencia jurisdiccional en materia civil, comercial, laboral y administrativa",
                          "Acuerdo contra el tráfico ilícito de migrantes entre los Estados Partes del Mercosur",
                          "Acuerdo contra el tráfico ilícito de migrantes entre los Estados Partes del Mercosur, la República de Bolivia y la República de Chile",
                          "Acuerdo de admisión de títulos y grados universitarios para el ejercicio de actividades académicas en los Estados Parte del Mercosur",
                          "Acuerdo de asistencia jurídica mutua en asuntos penales entre los Estados Partes del Mercosur, la República de Bolivia y la República de Chile",
                          "Acuerdo de Asunción sobre restitución de vehículos automotores terrestres y/o embarcacioens que trasponen ilegalmente las fronteras entre los Estados Parte del Mercosur",
                          "Acuerdo de Asunción sobre restitución de vehículos automotores terrestres y/o embarcacioens que trasponen ilegalmente las fronteras entre los Estados Parte del Mercosur, la República de Bolivia y la República de Chile",
                          "Acuerdo de comercio preferencial con SACU"),
                cntry = c("Argentina","Argentina",
                          "Argentina","Argentina","Argentina","Argentina",
                          "Argentina","Argentina","Argentina","Argentina"),
           crisis_gdp = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
     crisis_gdpgrowth = c(0, 0, 0, 0, 0, 1, 0, 0, 0, 0),
  crisis_gdppercapita = c(0, 0, 0, 0, 0, 0, 0, 1, 1, 0),
  crisis_unemployment = c(0, 0, 0, 0, 0, 1, 0, 1, 1, 0),
     crisis_inflation = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
        crisis_change = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
           crisis_fdi = c(0, 0, 0, 0, 0, 1, 0, 1, 1, 0)
)

Any help is appreciated!

Hi!

If you use rowSums() you can just remove NAs with na.rm=TRUE. For your data, this code should work:

myData$condition<-rowSums(myData[,-c(1,2)],na.rm = TRUE)

Thank you, Jonathan! It is working
Don't know what I've done before that rowSums() give me the wrong result

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.