【发布时间】:2019-11-16 22:57:42
【问题描述】:
我想根据该 ID 本身的前几年组的值将我的数据集的 NA 填充到组变量中。
na.locf(newData, na.rm = TRUE) 部分代码不起作用。我认为这是因为输入不是数字。或者是另一回事?
有谁知道如何解决这个问题?
for (i in my_data$ID){
newData = my_data[my_data$ID==i,c('ID','Year', 'group')][3]
na.locf(newData,na.rm = TRUE)
}
我的数据集非常大。 但我提供了这个作为我需要的样本:
structure(list(ID = c(1L, 2L, 3L, 1L, 1L, 1L), Year = c(2000L,
2000L, 2001L, 2001L, 2002L, 2003L), Group = structure(c(2L, 3L,
2L, 1L, 1L, 4L), .Label = c("", "\"A\"", "\"B\"", "\"C\""), class = "factor")), row.names = c(NA,
6L), class = "data.frame")
结果应该是这样的:
structure(list(ID = c(1L, 1L, 1L, 1L, 2L, 2L), Year = c(2000L,
2001L, 2002L, 2003L, 2000L, 2002L), Group = structure(c(1L, 1L,
1L, 3L, 2L, 2L), .Label = c("\"A\"", "\"B\"", "\"C\""), class = "factor")), row.names = c(NA,
6L), class = "data.frame")
【问题讨论】: