Significa várias colunas por vários grupos

Estou tentando encontrar os meios, não incluindo NAs, para várias colunas dentro de um dataframe por vários grupos

airquality <- data.frame(City = c("CityA", "CityA","CityA",
                                  "CityB","CityB","CityB",
                                  "CityC", "CityC"),
                         year = c("1990", "2000", "2010", "1990", 
                                  "2000", "2010", "2000", "2010"),
                         month = c("June", "July", "August",
                                   "June", "July", "August",
                                   "June", "August"),
                         PM10 = c(runif(3), rnorm(5)),
                         PM25 = c(runif(3), rnorm(5)),
                         Ozone = c(runif(3), rnorm(5)),
                         CO2 = c(runif(3), rnorm(5)))
airquality

Então, recebo uma lista dos nomes com o número para saber quais colunas selecionar:

nam<-names(airquality)
namelist <- data.frame(matrix(t(nam)));namelist

Quero calcular a média por cidade e ano para PM25, Ozônio e CO2. Isso significa que eu preciso das colunas 1,2,4,6: 7)

acast(datadf, year ~ city, mean, na.rm=TRUE)

Mas isso não é exatamente o que eu quero, porque inclui o significado de algo que não preciso e não está no formato de quadro de dados. Eu poderia convertê-lo e depois soltá-lo, mas isso parece uma maneira muito ineficiente de fazê-lo.

Existe uma maneira melhor?

questionAnswers(4)

yourAnswerToTheQuestion