모든 지연 시차는 연속 시계열을 사용합니다. 나는 해마다 변화율을 계산하려고 노력하고 있지만, 중간에 틈이 있는지 계산하는 것은 의미가 없습니다. 즉, 나는 2001 년에서 2004 년까지 퍼센트 변화를 원하지 않을 것입니다. 단지 2 년 사이에 관심이 있습니다. 데이터 입력의 예 :연도 차이가있는 래그 함수를 사용하여 변경 계산 R
structure(list(ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("A", "B"), class = "factor"),
Year = c(2000L, 2001L, 2004L, 2005L, 2006L, 2007L, 1990L,
2000L, 2001L, 2005L, 2006L, 2007L, 2009L), Value = c(4L,
10L, 7L, 4L, 7L, 5L, 2L, 7L, 10L, 6L, 9L, 2L, 9L)), .Names = c("ID",
"Year", "Value"), class = "data.frame", row.names = c(NA, -13L
))
df <- df %>% group_by(ID) %>%
mutate(delta = (Value-lag(Value))/lag(Value))
위의 줄은 점프하는 장소를 무시하고 원하는 출력을 반환하지 않습니다. 원하는 출력 : 여기
structure(list(ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("A", "B"), class = "factor"),
Year = c(2000L, 2001L, 2004L, 2005L, 2006L, 2007L, 1990L,
2000L, 2001L, 2005L, 2006L, 2007L, 2009L), Value = c(4L,
10L, 7L, 4L, 7L, 5L, 2L, 7L, 10L, 6L, 9L, 2L, 9L), Change = c(NA,
1.5, NA, -0.428571429, 0.75, -0.285714286, NA, 2.5, 0.428571429,
NA, 0.5, -0.777777778, NA)), .Names = c("ID", "Year", "Value",
"Change"), class = "data.frame", row.names = c(NA, -13L))
데이터 집합이 얼마나 큰을 얻을 수
base R
기능을 사용할 수 있습니까? –수천 개의 행. – hhhaaa1