기존 변수의 특정 값에서 파생 된 새 변수를 만들고 싶습니다. 내 데이터 프레임은 다음과 같이 보입니다 :특정 관측에 의한 데이터 그룹화 R
year <- c("2010", "2011", "2012", "2013", "2014", "2015")
x <- c(2980, 2955, 3110, 2962, 2566, 3788)
y <- c(2453, 2919, 2930, 2864, 2873, 3031)
df <- data.frame(year, x, y)
이보다 구체적으로는, 나는 세 번째 열, z
을 만들려면을, 그 x
및 y
의 비율이다. 그러나 나는이 비율을 x
에 의해 y
으로 나누어 각 개인의 연도별로 생성하고 싶지 않습니다. 대신 2015 년 (및 2014 년 등)의 가치를 지난 3 년 (즉, 2014 년, 2013 년, 2012 년)의 평균 비율로 유지하려고합니다.
위컴의 dplyr
패키지를 살펴본 결과 특히, group_by
함수이지만, 그 자체로 해를 기준으로 내 데이터를 그룹화하고 싶지는 않으므로 위에 묘사 된대로 (희망에 따라) 3 년이 지난 것입니다.
원시 비율을 계산하고 그런 다음 [롤링 평균] (http://stackoverflow.com/search?q=%5Br%5D+rolling+average)을 수행하십시오. 1 년에 데이터 포인트가 하나만있는 경우 그룹화가 필요하지 않습니다. – Gregor