In [1]:
agestr <- read.csv('agestr.csv')
yr <- 2000
offset <- c(rep(5, 17), 15)

In [2]:
agestr


YearSexAreaTotalR1R2R3R4R5R6...R9R10R11R12R13R14R15R16R17R18
2000 1 4 11392050776698 841773 831160 964868 1023835 905239 ... 931580 829386 550932 405574 372741 333391 326658 205981 94920 50073
2000 2 4 10884622712544 773385 767533 910495 977952 873639 ... 908597 815063 545257 412352 395783 325651 255964 172188 93801 62681
2001 1 4 11441651743975 842623 842567 910170 1018859 930094 ... 941127 846586 627410 397003 382731 323539 326319 218110 105011 53612
2001 2 4 10963917682784 776341 773594 858177 973513 898649 ... 918228 832299 623115 403732 406304 332488 265028 180527 102837 65886
2002 1 4 11485409704807 843183 849202 866630 1026165 943791 ... 960079 858992 683753 407786 388001 322139 320449 230394 114146 58026
2002 2 4 11035367646022 778195 777483 814496 978706 912380 ... 935973 847162 679977 414160 411422 343363 273226 188790 110217 70550
2003 1 4 11515062684174 812247 840744 850160 1012438 967088 ... 971638 877898 729037 429830 394429 324142 309833 244424 122381 62588
2003 2 4 11089488625729 748799 769927 795888 964793 934343 ... 947625 866629 727398 436233 416895 353047 280141 199428 116899 74851
2004 1 4 11541585650216 791835 846780 823881 988195 996749 ... 975195 896871 765796 468133 395322 330091 299144 254807 131554 67900
2004 2 4 11147537593723 729180 775348 768784 939894 961852 ... 951241 886843 766611 475800 415739 364301 289004 210010 124294 79370
2005 1 4 11562440598086 783379 839692 825590 956187 1018399 ... 972854 908705 803078 527088 380324 339262 288316 260601 143274 73969
2005 2 4 11207943546269 719557 772066 764664 908333 984102 ... 952202 900035 805313 535893 399992 376000 298044 219968 132174 85196
2006 1 4 11591707571699 749063 840418 837559 902971 1014502 ... 972298 919910 821251 602280 373307 349809 281052 262137 153915 82997
2006 2 4 11284820521243 688097 775111 771109 857516 984295 ... 955249 912538 825295 614591 392948 387384 305620 229363 140448 94304
2007 1 4 11608767550561 709220 841204 844751 860639 1022008 ... 956057 938532 833832 657109 384466 355601 280289 258048 163045 89081
2007 2 4 11349593502024 650560 777076 775575 814957 995008 ... 940956 931153 841159 672051 404197 393262 316716 237517 147906 101627
2008 1 4 11626351536491 689226 810883 837112 845169 1009260 ... 945857 950823 853304 701768 406629 362704 282905 250143 173879 95716
2008 2 4 11410680489715 630644 748244 768840 797136 985307 ... 932657 945023 862593 720458 427415 399815 326636 244753 157217 108452
2009 1 4 11636734523013 656333 790956 843652 819263 985114 ... 937285 954649 872033 737598 443885 364463 289278 242555 182732 104096
2009 2 4 11483038479147 599594 728975 774675 770663 965727 ... 930830 950826 883697 760244 466877 399612 338240 253475 166676 116521
2010 1 4 11635225503400 605233 782666 836734 821067 953304 ... 932140 952466 883709 773674 500740 351553 298770 234614 188509 115065
2010 2 4 11526898460693 553071 719248 771420 765670 933395 ... 930305 952402 896683 798855 526541 385297 350116 262595 175596 125778
2011 1 4 11645674498746 579777 748622 837814 832933 899967 ... 919426 951201 893621 790656 571994 345490 308671 229209 189644 125534
2011 2 4 11579238458244 528609 687792 774423 771069 878871 ... 922634 954537 907285 817458 603327 379048 361279 269771 183798 135805
2012 1 4 11673319511559 558811 709152 839044 840354 857626 ... 912991 935207 912094 803377 624453 356836 315219 229340 187308 135666
2012 2 4 11642503472124 509463 650568 776481 775225 830809 ... 924215 939746 926068 833060 659867 390644 367737 280443 191268 145691

In [3]:
as1 <- agestr[agestr[1]==yr, -(1:4)][1,]/offset
as1 <- splinefun(c(cumsum(offset) - offset/2, 100), c(as1, 0), method = "natural")
as1 <- round(as1(0:99))
as1 <- as1 * agestr[agestr[1]==yr, 4][1]/sum(as1)
as2 <- agestr[agestr[1]==yr, -(1:4)][2,]/offset
as2 <- splinefun(c(cumsum(offset) - offset/2, 100), c(as2, 0), method = "natural")
as2 <- round(as2(0:99))
as2 <- as2 * agestr[agestr[1]==yr, 4][2]/sum(as2)

par(mfrow=c(2,1))
plot(as1)
lines(cumsum(offset) - offset/2, agestr[agestr[1]==yr, -(1:4)][1,]/offset)
plot(as2)
lines(cumsum(offset) - offset/2, agestr[agestr[1]==yr, -(1:4)][2,]/offset)



In [4]:
sum(as1*0:99)/sum(as1)
sum(as2*0:99)/sum(as2)


33.2522141688499
33.5345928176919

In [11]:
asnew <- rbind(data.frame(Sex="Male", Age=0:99, Weight=as1), data.frame(Sex="Female", Age=0:99, Weight=as2))

In [12]:
write.csv(asnew, paste0("AgeStr", yr, ".csv"), row.names = F)