필자는 많은 누락 값을 가지고 매일 관찰하고 각 개인의 벡터를 통해 첫 번째 누락 값을 전파하려고합니다.Carry Last Observation For ID in R
내가 지금까지 한 검색에서 zoo
패키지의 na.locf
기능을 발견했습니다. 그러나 이제는 데이터 프레임의 id
변수를 기반으로이 함수를 조정해야합니다. ddply
이 올바른 기능입니까? 그렇다면 동일한 데이터 프레임에 result
이라는 새 변수에 출력을 포함시키는 방법을 알아내는 사람이 있습니까?
이것은 내가 지금까지 무엇을 가지고 :
# Load required libraries
library(zoo)
library(plyr)
# Create the data
data <- structure(list(id = c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2), day = c(0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7,
8), value = c("NA", "1", "NA", "NA", "NA", "NA", "NA", "NA",
"NA", "NA", "1", "NA", "NA", "NA", "NA", "NA")), .Names = c("id",
"day", "value"), row.names = c(NA, -16L), class = "data.frame")
# Propagate the value of the first non-missing observation in data$value forward for each id
data$result <- na.locf(data$value, na.rm = FALSE)
각 id
으로하여 na.locf
기능을 실행하는 방법에 대한 어떤 생각을 크게 감상 할 수있다. 감사!
절대적으로 완벽한 - 감사합니다! 이전에'transform' 함수를 사용 해본 적이 없지만 확실히 살펴 보겠습니다. 다시 한번 감사드립니다. – Entropy