使用R

时间:2019-03-15 18:26:44

标签: r dplyr

我的问题与链接中的this有关。如果其他人要求此扩展名(我的搜索是徒劳的),请标记为重复(并请重定向我)。

在许多ID和时间内,我都有大量数据。 示例数据:

id <- c('a','b','c','d','a','b','c','d','a','b','c','d','a','b','c', 'd')
time <- c(2000,2000,2000,2000,2001,2001,2001,2001,2002,2002,2002,2002, 2003,2003,2003,2003)
x <- c(1,2,3,NA,4,5,6,NA,7,8,9,NA,10,11,12,12)
y <- c(NA,2,NA,NA,4,5,NA,NA,7,8,9,NA,10,11,12,12)
z <- c(NA,2,3,NA,4,5,NA,NA,7,8,9,NA,NA,11,12,12)
w <- c(NA,2,3,NA,4,5,6,NA,7,8,9,NA,NA,11,12, 12)
mydata <- data.frame(id, time, x, y, z, w)

问题: 我正在尝试编写一段代码来执行以下操作:

  1. 按优先顺序保留ID。 也就是说,在上面的示例数据中,id b是优先级,因为随着时间的推移不会丢失任何数据。然后保留id c,因为它具有2年的所有数据,而2000年缺少1年,2001年缺少2年。
  2. 按优先级顺序放置ID。 d将被删除,a将被保留。
  3. 我的id太多了,因此这段代码应该遍历所有ID和所有年份。

初始尝试:对我来说,使用上面的解决方案有些麻烦。我可以在id ds不为NA时将其删除,但是对于其他年份,可能会填充变量,在这种情况下,我想估算有限数量的缺失值。因此,假设d至少可以使用6年,我保留d。

0 个答案:

没有答案