Year と CountyID でデータをグループ化し、サブセット データで splinefun (3 次スプライン補間) を使用しようとしています。私はアイデアを受け入れますが、splinefun は必須であり、変更することはできません。
これが私が使用しようとしているコードです:
age <- seq(from = 0, by = 5, length.out = 18)
TOT_POP <- df %.%
group_by(unique(df$Year), unique(df$CountyID) %.%
splinefun(age, c(0, cumsum(df$TOT_POP)), method = "hyman")
これが私のデータのサンプルで、Year = 2010 : 2013、Agegrp = 1 : 17 で、CountyID は米国内のすべての郡と同じです。
CountyID Year Agegrp TOT_POP
1001 2010 1 3586
1001 2010 2 3952
1001 2010 3 4282
1001 2010 4 4136
1001 2010 5 3154
私がやっていることは、Agegrp 1 : 17 を取得し、グループを 0 ~ 84 の個々の年に分割することです。現在、各グループは 5 年を表しています。splinefun を使用すると、プロセスに一定レベルの数学的厳密さを提供しながら、これを行うことができます。つまり、splinefun を使用すると、米国の各郡の年齢ごとの人口合計を提供できます。
最後に、splinefun コード自体は機能しますが、group_by 関数内では機能しません。次のようになります。
Error: wrong result size(4), expected 68 or 1.
私が使用しているsplinefunコードは次のように機能します
TOT_POP <- splinefun(age, c(0, cumsum(df$TOT_POP)),
method = "hyman")
TOT_POP = pmax(0, diff(TOT_POP(c(0:85))))
これは、1 年間に 1 つの CountyID でテストされました。このプロセスを「x」年、約 3200 郡にわたって繰り返す必要があります。