小编Jen*_*Jen的帖子

表示多个组的多个列

我正在尝试为具有多个组的数据框的多列找到不包括 NA 的方法

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
Run Code Online (Sandbox Code Playgroud)

所以我得到一个带有数字的名称列表,所以我知道要选择哪些列:

nam<-names(airquality)
namelist <- data.frame(matrix(t(nam)));namelist
Run Code Online (Sandbox Code Playgroud)

我想按城市和年份计算 PM25、臭氧和二氧化碳的平均值。这意味着我需要第 1,2,4,6:7 列)

acast(datadf, year ~ city, mean, na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)

但这并不是我真正想要的,因为它包含了我不需要的东西的平均值,而且它不是数据帧格式。我可以转换它然后删除,但这似乎是一种非常低效的方法。

有没有更好的办法?

r sapply dplyr dcast

5
推荐指数
1
解决办法
8272
查看次数

标签 统计

dcast ×1

dplyr ×1

r ×1

sapply ×1