R version 2.12.1 (2010-12-16) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: i486-pc-linux-gnu (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > x <- array(list(1565 + ,129404 + ,80 + ,500 + ,109 + ,20 + ,18 + ,70 + ,18158 + ,5636 + ,22622 + ,30 + ,28 + ,1134 + ,130358 + ,46 + ,329 + ,68 + ,38 + ,17 + ,68 + ,30461 + ,9079 + ,73570 + ,42 + ,39 + ,192 + ,7215 + ,18 + ,72 + ,1 + ,0 + ,0 + ,0 + ,1423 + ,603 + ,1929 + ,0 + ,0 + ,2032 + ,112861 + ,84 + ,584 + ,146 + ,49 + ,22 + ,68 + ,25629 + ,8874 + ,36294 + ,54 + ,54 + ,3283 + ,219904 + ,126 + ,1100 + ,124 + ,76 + ,30 + ,120 + ,48758 + ,17988 + ,62378 + ,86 + ,80 + ,5787 + ,396382 + ,216 + ,1581 + ,267 + ,104 + ,31 + ,120 + ,129230 + ,21325 + ,167760 + ,157 + ,144 + ,1322 + ,117604 + ,50 + ,442 + ,83 + ,37 + ,19 + ,72 + ,27376 + ,8325 + ,52443 + ,36 + ,36 + ,1187 + ,126737 + ,49 + ,321 + ,48 + ,53 + ,25 + ,96 + ,26706 + ,7117 + ,57283 + ,48 + ,48 + ,1463 + ,99729 + ,38 + ,406 + ,87 + ,42 + ,30 + ,109 + ,26505 + ,7996 + ,36614 + ,45 + ,42 + ,2568 + ,256310 + ,86 + ,818 + ,129 + ,62 + ,26 + ,104 + ,49801 + ,14218 + ,93268 + ,77 + ,71 + ,1810 + ,113066 + ,69 + ,568 + ,146 + ,50 + ,20 + ,54 + ,46580 + ,6321 + ,35439 + ,49 + ,49 + ,1802 + ,157228 + ,60 + ,556 + ,95 + ,65 + ,25 + ,98 + ,48352 + ,19690 + ,72405 + ,77 + ,74 + ,1335 + ,69952 + ,86 + ,494 + ,57 + ,28 + ,15 + ,49 + ,13899 + ,5659 + ,24044 + ,28 + ,27 + ,2415 + ,152673 + ,84 + ,818 + ,240 + ,48 + ,22 + ,88 + ,39342 + ,11370 + ,55909 + ,84 + ,83 + ,1193 + ,130642 + ,45 + ,338 + ,46 + ,42 + ,16 + ,57 + ,27465 + ,4778 + ,44689 + ,31 + ,31 + ,1374 + ,125769 + ,67 + ,419 + ,81 + ,47 + ,19 + ,74 + ,55211 + ,5954 + ,49319 + ,28 + ,28 + ,1504 + ,123467 + ,50 + ,364 + ,85 + ,71 + ,28 + ,112 + ,74098 + ,22924 + ,62075 + ,99 + ,98 + ,999 + ,56232 + ,47 + ,284 + ,62 + ,0 + ,12 + ,45 + ,13497 + ,70 + ,2341 + ,2 + ,2 + ,2201 + ,108330 + ,78 + ,674 + ,126 + ,50 + ,28 + ,110 + ,38338 + ,14369 + ,40551 + ,41 + ,43 + ,633 + ,22762 + ,20 + ,188 + ,44 + ,12 + ,13 + ,39 + ,52505 + ,3706 + ,11621 + ,25 + ,24 + ,838 + ,48554 + ,49 + ,286 + ,37 + ,16 + ,14 + ,55 + ,10663 + ,3147 + ,18741 + ,16 + ,16 + ,2189 + ,182081 + ,83 + ,640 + ,94 + ,77 + ,27 + ,102 + ,74484 + ,16801 + ,84202 + ,96 + ,95 + ,1469 + ,140857 + ,59 + ,520 + ,127 + ,29 + ,25 + ,96 + ,28895 + ,2162 + ,15334 + ,23 + ,22 + ,1790 + ,93773 + ,45 + ,532 + ,159 + ,38 + ,30 + ,86 + ,32827 + ,4721 + ,28024 + ,33 + ,33 + ,1743 + ,133398 + ,78 + ,547 + ,41 + ,50 + ,21 + ,78 + ,36188 + ,5290 + ,53306 + ,46 + ,45 + ,1180 + ,113933 + ,23 + ,428 + ,153 + ,33 + ,17 + ,64 + ,28173 + ,6446 + ,37918 + ,59 + ,59 + ,1749 + ,153851 + ,139 + ,561 + ,86 + ,49 + ,22 + ,82 + ,54926 + ,14711 + ,54819 + ,72 + ,66 + ,1101 + ,140711 + ,75 + ,266 + ,55 + ,59 + ,28 + ,100 + ,38900 + ,13311 + ,89058 + ,72 + ,70 + ,2383 + ,303804 + ,104 + ,783 + ,78 + ,55 + ,26 + ,99 + ,88530 + ,13577 + ,103354 + ,62 + ,56 + ,1808 + ,161651 + ,37 + ,746 + ,84 + ,40 + ,17 + ,67 + ,35482 + ,14634 + ,70239 + ,55 + ,55 + ,1301 + ,123344 + ,40 + ,394 + ,71 + ,40 + ,23 + ,87 + ,26730 + ,6931 + ,33045 + ,27 + ,27 + ,1432 + ,157640 + ,38 + ,482 + ,111 + ,51 + ,20 + ,65 + ,29806 + ,9992 + ,63852 + ,41 + ,37 + ,1794 + ,91279 + ,89 + ,568 + ,71 + ,41 + ,11 + ,43 + ,41799 + ,6185 + ,30905 + ,51 + ,48 + ,2476 + ,189374 + ,103 + ,746 + ,243 + ,73 + ,20 + ,80 + ,54289 + ,3445 + ,24242 + ,26 + ,26 + ,2033 + ,178768 + ,43 + ,668 + ,66 + ,51 + ,21 + ,84 + ,36805 + ,12327 + ,78907 + ,65 + ,64 + ,1 + ,0 + ,1 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,1782 + ,175403 + ,54 + ,835 + ,58 + ,46 + ,27 + ,105 + ,33146 + ,9898 + ,36005 + ,28 + ,21 + ,1505 + ,92342 + ,46 + ,464 + ,131 + ,44 + ,14 + ,51 + ,23333 + ,8022 + ,31972 + ,44 + ,44 + ,1820 + ,100023 + ,41 + ,418 + ,258 + ,31 + ,29 + ,98 + ,47686 + ,10765 + ,35853 + ,36 + ,36 + ,1648 + ,178277 + ,49 + ,607 + ,56 + ,71 + ,31 + ,124 + ,77783 + ,22717 + ,115301 + ,100 + ,89 + ,1669 + ,145062 + ,57 + ,539 + ,90 + ,61 + ,19 + ,75 + ,36042 + ,10090 + ,47689 + ,104 + ,101 + ,1367 + ,110980 + ,48 + ,519 + ,57 + ,28 + ,30 + ,120 + ,34541 + ,12385 + ,34223 + ,35 + ,31 + ,864 + ,86039 + ,25 + ,309 + ,35 + ,21 + ,23 + ,84 + ,75620 + ,8513 + ,43431 + ,69 + ,65 + ,1683 + ,125481 + ,66 + ,647 + ,53 + ,42 + ,21 + ,82 + ,60610 + ,5508 + ,52220 + ,73 + ,71 + ,1024 + ,95535 + ,42 + ,321 + ,46 + ,44 + ,22 + ,87 + ,55041 + ,9628 + ,33863 + ,106 + ,102 + ,1020 + ,126456 + ,76 + ,261 + ,37 + ,40 + ,21 + ,78 + ,32087 + ,11872 + ,46879 + ,53 + ,53 + ,629 + ,61554 + ,26 + ,180 + ,45 + ,15 + ,32 + ,97 + ,16356 + ,4186 + ,23228 + ,43 + ,41 + ,1660 + ,164752 + ,81 + ,576 + ,111 + ,46 + ,19 + ,76 + ,40161 + ,10877 + ,42827 + ,49 + ,46 + ,1715 + ,159121 + ,75 + ,544 + ,104 + ,43 + ,26 + ,104 + ,55459 + ,17066 + ,65765 + ,38 + ,37 + ,2093 + ,129362 + ,51 + ,758 + ,150 + ,47 + ,25 + ,93 + ,36679 + ,9175 + ,38167 + ,51 + ,51 + ,658 + ,48188 + ,28 + ,205 + ,37 + ,12 + ,22 + ,82 + ,22346 + ,2102 + ,14812 + ,14 + ,14 + ,1234 + ,95461 + ,56 + ,317 + ,49 + ,46 + ,19 + ,73 + ,27377 + ,10807 + ,32615 + ,40 + ,40 + ,2059 + ,229864 + ,64 + ,709 + ,83 + ,56 + ,24 + ,87 + ,50273 + ,13662 + ,82188 + ,79 + ,77 + ,1725 + ,191094 + ,68 + ,590 + ,67 + ,47 + ,26 + ,95 + ,32104 + ,9224 + ,51763 + ,52 + ,51 + ,1447 + ,150640 + ,48 + ,526 + ,39 + ,48 + ,27 + ,105 + ,27016 + ,9001 + ,59325 + ,44 + ,43 + ,1454 + ,111388 + ,47 + ,443 + ,69 + ,35 + ,10 + ,37 + ,19715 + ,7204 + ,48976 + ,34 + ,33 + ,1557 + ,165098 + ,57 + ,419 + ,58 + ,44 + ,26 + ,96 + ,33629 + ,6572 + ,43384 + ,47 + ,47 + ,733 + ,63205 + ,18 + ,205 + ,68 + ,25 + ,23 + ,88 + ,27084 + ,7509 + ,26692 + ,32 + ,31 + ,894 + ,109102 + ,56 + ,310 + ,30 + ,47 + ,21 + ,83 + ,32352 + ,12920 + ,53279 + ,31 + ,31 + ,2343 + ,137303 + ,74 + ,785 + ,54 + ,28 + ,34 + ,124 + ,51845 + ,5438 + ,20652 + ,40 + ,40 + ,1503 + ,125304 + ,50 + ,434 + ,65 + ,48 + ,29 + ,116 + ,26591 + ,11489 + ,38338 + ,42 + ,42 + ,1580 + ,85332 + ,64 + ,576 + ,81 + ,32 + ,19 + ,76 + ,29677 + ,6661 + ,36735 + ,34 + ,35 + ,1119 + ,95808 + ,48 + ,317 + ,84 + ,28 + ,19 + ,65 + ,54237 + ,7941 + ,42764 + ,40 + ,40 + ,897 + ,83419 + ,29 + ,288 + ,45 + ,31 + ,23 + ,86 + ,20284 + ,6173 + ,44331 + ,35 + ,30 + ,855 + ,101723 + ,25 + ,285 + ,52 + ,13 + ,22 + ,85 + ,22741 + ,5562 + ,41354 + ,11 + ,11 + ,1229 + ,94982 + ,37 + ,391 + ,36 + ,38 + ,29 + ,107 + ,34178 + ,9492 + ,47879 + ,43 + ,41 + ,1939 + ,129700 + ,60 + ,446 + ,80 + ,39 + ,31 + ,124 + ,69551 + ,17456 + ,103793 + ,53 + ,53 + ,2393 + ,113325 + ,63 + ,715 + ,144 + ,68 + ,21 + ,78 + ,29653 + ,9422 + ,52235 + ,82 + ,82 + ,820 + ,81518 + ,32 + ,208 + ,45 + ,32 + ,21 + ,83 + ,38071 + ,10913 + ,49825 + ,41 + ,41 + ,340 + ,31970 + ,15 + ,101 + ,40 + ,5 + ,21 + ,78 + ,4157 + ,1283 + ,4105 + ,6 + ,6 + ,2443 + ,192268 + ,102 + ,858 + ,126 + ,53 + ,15 + ,59 + ,28321 + ,6198 + ,58687 + ,82 + ,81 + ,1020 + ,91086 + ,53 + ,302 + ,75 + ,33 + ,9 + ,33 + ,40195 + ,4501 + ,40745 + ,47 + ,47 + ,1091 + ,80820 + ,56 + ,360 + ,54 + ,54 + ,23 + ,92 + ,48158 + ,9560 + ,33187 + ,108 + ,100 + ,1380 + ,83261 + ,58 + ,411 + ,82 + ,36 + ,18 + ,52 + ,13310 + ,3394 + ,14063 + ,46 + ,46 + ,2187 + ,116290 + ,52 + ,561 + ,86 + ,52 + ,31 + ,121 + ,78474 + ,9871 + ,37407 + ,38 + ,38 + ,1082 + ,56544 + ,32 + ,292 + ,62 + ,0 + ,25 + ,92 + ,6386 + ,2419 + ,7190 + ,0 + ,0 + ,1764 + ,116173 + ,51 + ,492 + ,99 + ,52 + ,24 + ,99 + ,31588 + ,10630 + ,49562 + ,45 + ,45 + ,1996 + ,111488 + ,79 + ,669 + ,63 + ,45 + ,22 + ,86 + ,61254 + ,8536 + ,76324 + ,57 + ,56 + ,816 + ,60138 + ,23 + ,253 + ,76 + ,16 + ,21 + ,75 + ,21152 + ,4911 + ,21928 + ,20 + ,18 + ,1121 + ,73422 + ,66 + ,366 + ,92 + ,33 + ,26 + ,96 + ,41272 + ,9775 + ,27860 + ,56 + ,54 + ,809 + ,67751 + ,57 + ,192 + ,45 + ,48 + ,22 + ,81 + ,34165 + ,11227 + ,28078 + ,38 + ,37 + ,1691 + ,213351 + ,52 + ,616 + ,57 + ,33 + ,26 + ,104 + ,37054 + ,6916 + ,49577 + ,42 + ,40 + ,751 + ,51185 + ,24 + ,221 + ,44 + ,24 + ,20 + ,76 + ,12368 + ,3424 + ,28145 + ,37 + ,37 + ,1309 + ,97181 + ,32 + ,438 + ,132 + ,37 + ,25 + ,90 + ,23168 + ,8637 + ,36241 + ,36 + ,36 + ,732 + ,45100 + ,39 + ,247 + ,44 + ,17 + ,19 + ,75 + ,16380 + ,3189 + ,10824 + ,34 + ,34 + ,1327 + ,115801 + ,43 + ,388 + ,67 + ,32 + ,22 + ,86 + ,41242 + ,8178 + ,46892 + ,53 + ,49 + ,2246 + ,186310 + ,190 + ,541 + ,82 + ,55 + ,25 + ,100 + ,48450 + ,16739 + ,61264 + ,85 + ,82 + ,968 + ,71960 + ,86 + ,233 + ,71 + ,39 + ,22 + ,88 + ,20790 + ,6094 + ,22933 + ,36 + ,36 + ,1015 + ,80105 + ,48 + ,333 + ,44 + ,31 + ,21 + ,80 + ,34585 + ,7237 + ,20787 + ,33 + ,33 + ,1100 + ,103613 + ,41 + ,422 + ,68 + ,26 + ,20 + ,73 + ,35672 + ,7355 + ,43978 + ,57 + ,55 + ,1300 + ,98707 + ,33 + ,452 + ,54 + ,37 + ,23 + ,88 + ,52168 + ,9734 + ,51305 + ,50 + ,50 + ,1982 + ,136234 + ,67 + ,584 + ,86 + ,66 + ,22 + ,79 + ,53933 + ,11225 + ,55593 + ,71 + ,71 + ,1091 + ,136781 + ,52 + ,366 + ,59 + ,35 + ,21 + ,81 + ,34474 + ,6213 + ,51648 + ,32 + ,31 + ,1107 + ,105863 + ,52 + ,406 + ,74 + ,24 + ,12 + ,48 + ,43753 + ,4875 + ,30552 + ,45 + ,42 + ,633 + ,38775 + ,31 + ,254 + ,18 + ,18 + ,9 + ,33 + ,36456 + ,8159 + ,23470 + ,33 + ,31 + ,1903 + ,179997 + ,91 + ,606 + ,156 + ,37 + ,32 + ,120 + ,51183 + ,11893 + ,77530 + ,53 + ,51 + ,1608 + ,169406 + ,50 + ,491 + ,87 + ,86 + ,24 + ,90 + ,52742 + ,10754 + ,57299 + ,64 + ,64 + ,223 + ,19349 + ,12 + ,67 + ,15 + ,13 + ,1 + ,2 + ,3895 + ,786 + ,9604 + ,14 + ,14 + ,1767 + ,153069 + ,86 + ,607 + ,104 + ,21 + ,24 + ,96 + ,37076 + ,9706 + ,34684 + ,38 + ,37 + ,1466 + ,109510 + ,53 + ,597 + ,54 + ,32 + ,25 + ,86 + ,24079 + ,7796 + ,41094 + ,39 + ,37 + ,552 + ,43803 + ,24 + ,240 + ,11 + ,8 + ,4 + ,15 + ,2325 + ,593 + ,3439 + ,8 + ,8 + ,708 + ,47062 + ,19 + ,219 + ,37 + ,38 + ,15 + ,48 + ,29354 + ,5600 + ,25171 + ,38 + ,38 + ,1079 + ,110845 + ,44 + ,349 + ,80 + ,45 + ,21 + ,81 + ,30341 + ,7245 + ,23437 + ,24 + ,23 + ,957 + ,92517 + ,52 + ,241 + ,66 + ,24 + ,23 + ,84 + ,18992 + ,7360 + ,34086 + ,22 + ,22 + ,585 + ,58660 + ,36 + ,136 + ,27 + ,23 + ,12 + ,46 + ,15292 + ,4574 + ,24649 + ,18 + ,18 + ,596 + ,27676 + ,22 + ,194 + ,59 + ,2 + ,16 + ,59 + ,5842 + ,522 + ,2342 + ,3 + ,1 + ,980 + ,98550 + ,32 + ,222 + ,113 + ,52 + ,24 + ,96 + ,28918 + ,10905 + ,45571 + ,49 + ,48 + ,585 + ,43646 + ,24 + ,153 + ,24 + ,5 + ,9 + ,29 + ,3738 + ,999 + ,3255 + ,5 + ,5 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,903 + ,67312 + ,27 + ,251 + ,55 + ,43 + ,23 + ,83 + ,95352 + ,9016 + ,30002 + ,47 + ,46 + ,750 + ,57359 + ,48 + ,240 + ,43 + ,18 + ,17 + ,63 + ,37478 + ,5134 + ,19360 + ,33 + ,33 + ,1071 + ,104330 + ,36 + ,358 + ,45 + ,44 + ,18 + ,68 + ,26839 + ,6608 + ,43320 + ,44 + ,41 + ,931 + ,70369 + ,47 + ,302 + ,55 + ,45 + ,21 + ,84 + ,26783 + ,8577 + ,35513 + ,56 + ,57 + ,782 + ,65494 + ,55 + ,267 + ,66 + ,29 + ,17 + ,54 + ,33392 + ,1543 + ,23536 + ,49 + ,49 + ,78 + ,3616 + ,5 + ,14 + ,5 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,874 + ,143931 + ,37 + ,287 + ,67 + ,32 + ,20 + ,75 + ,25446 + ,9803 + ,54438 + ,45 + ,45 + ,1327 + ,117946 + ,66 + ,476 + ,67 + ,65 + ,26 + ,87 + ,59847 + ,12140 + ,56812 + ,78 + ,78 + ,1796 + ,131175 + ,84 + ,509 + ,117 + ,26 + ,26 + ,104 + ,28162 + ,6678 + ,33838 + ,51 + ,46 + ,750 + ,84336 + ,33 + ,243 + ,51 + ,24 + ,20 + ,80 + ,33298 + ,6420 + ,32366 + ,25 + ,25 + ,778 + ,43410 + ,19 + ,292 + ,63 + ,7 + ,1 + ,3 + ,2781 + ,4 + ,13 + ,1 + ,1 + ,1373 + ,136250 + ,58 + ,410 + ,84 + ,62 + ,24 + ,93 + ,37121 + ,7979 + ,55082 + ,62 + ,59 + ,807 + ,79015 + ,34 + ,217 + ,35 + ,30 + ,14 + ,55 + ,22698 + ,5141 + ,31334 + ,29 + ,29 + ,1449 + ,92937 + ,43 + ,422 + ,57 + ,49 + ,26 + ,96 + ,27615 + ,1311 + ,16612 + ,26 + ,26 + ,685 + ,57586 + ,38 + ,160 + ,29 + ,3 + ,12 + ,48 + ,32689 + ,443 + ,5084 + ,4 + ,4 + ,285 + ,19764 + ,12 + ,75 + ,19 + ,10 + ,2 + ,8 + ,5752 + ,2416 + ,9927 + ,10 + ,10 + ,1336 + ,105757 + ,42 + ,412 + ,51 + ,42 + ,16 + ,60 + ,23164 + ,8396 + ,47413 + ,43 + ,43 + ,898 + ,97213 + ,24 + ,309 + ,63 + ,18 + ,22 + ,84 + ,20304 + ,5462 + ,27389 + ,36 + ,36 + ,1283 + ,113402 + ,35 + ,417 + ,96 + ,40 + ,28 + ,112 + ,34409 + ,7271 + ,30425 + ,43 + ,41 + ,256 + ,11796 + ,9 + ,79 + ,22 + ,1 + ,2 + ,8 + ,0 + ,0 + ,0 + ,0 + ,0 + ,81 + ,7627 + ,9 + ,25 + ,7 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,1214 + ,121085 + ,49 + ,431 + ,34 + ,29 + ,17 + ,52 + ,92538 + ,4423 + ,33510 + ,33 + ,32 + ,41 + ,6836 + ,3 + ,11 + ,5 + ,0 + ,1 + ,4 + ,0 + ,0 + ,0 + ,0 + ,0 + ,1633 + ,139563 + ,45 + ,564 + ,43 + ,46 + ,17 + ,57 + ,46037 + ,5331 + ,40389 + ,53 + ,53 + ,42 + ,5118 + ,3 + ,6 + ,1 + ,5 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,528 + ,40248 + ,16 + ,183 + ,34 + ,8 + ,4 + ,14 + ,5444 + ,775 + ,6012 + ,6 + ,6 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,890 + ,95079 + ,42 + ,295 + ,49 + ,21 + ,25 + ,91 + ,23924 + ,6676 + ,22205 + ,19 + ,18 + ,1203 + ,80763 + ,32 + ,230 + ,44 + ,21 + ,26 + ,89 + ,52230 + ,1489 + ,17231 + ,26 + ,26 + ,81 + ,7131 + ,4 + ,27 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,61 + ,4194 + ,11 + ,14 + ,4 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,0 + ,849 + ,60378 + ,20 + ,240 + ,40 + ,15 + ,15 + ,54 + ,8019 + ,3080 + ,11017 + ,16 + ,16 + ,1035 + ,109173 + ,44 + ,251 + ,52 + ,47 + ,20 + ,77 + ,34542 + ,11409 + ,46741 + ,84 + ,84 + ,964 + ,83484 + ,16 + ,347 + ,47 + ,17 + ,19 + ,76 + ,21157 + ,6769 + ,39869 + ,28 + ,22) + ,dim=c(13 + ,144) + ,dimnames=list(c('pageviews' + ,'timeRFC' + ,'logins' + ,'compviews' + ,'prviews' + ,'bloggedcomp' + ,'reviewedcomp' + ,'submittedfbpr' + ,'characters' + ,'revisions' + ,'seconds' + ,'inclhyperlinks' + ,'inclblogs') + ,1:144)) > y <- array(NA,dim=c(13,144),dimnames=list(c('pageviews','timeRFC','logins','compviews','prviews','bloggedcomp','reviewedcomp','submittedfbpr','characters','revisions','seconds','inclhyperlinks','inclblogs'),1:144)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par4 = 'no' > par3 = '3' > par2 = 'none' > par1 = '5' > library(party) Loading required package: survival Loading required package: splines Loading required package: grid Loading required package: modeltools Loading required package: stats4 Loading required package: coin Loading required package: mvtnorm Loading required package: zoo Loading required package: sandwich Loading required package: strucchange Loading required package: vcd Loading required package: MASS Loading required package: colorspace > library(Hmisc) Attaching package: 'Hmisc' The following object(s) are masked from 'package:survival': untangle.specials The following object(s) are masked from 'package:base': format.pval, round.POSIXt, trunc.POSIXt, units > par1 <- as.numeric(par1) > par3 <- as.numeric(par3) > x <- data.frame(t(y)) > is.data.frame(x) [1] TRUE > x <- x[!is.na(x[,par1]),] > k <- length(x[1,]) > n <- length(x[,1]) > colnames(x)[par1] [1] "prviews" > x[,par1] [1] 109 68 1 146 124 267 83 48 87 129 146 95 57 240 46 81 85 62 [19] 126 44 37 94 127 159 41 153 86 55 78 84 71 111 71 243 66 0 [37] 58 131 258 56 90 57 35 53 46 37 45 111 104 150 37 49 83 67 [55] 39 69 58 68 30 54 65 81 84 45 52 36 80 144 45 40 126 75 [73] 54 82 86 62 99 63 76 92 45 57 44 132 44 67 82 71 44 68 [91] 54 86 59 74 18 156 87 15 104 54 11 37 80 66 27 59 113 24 [109] 0 55 43 45 55 66 5 0 67 67 117 51 63 84 35 57 29 19 [127] 51 63 96 22 7 34 5 43 1 34 0 49 44 0 4 40 52 47 > if (par2 == 'kmeans') { + cl <- kmeans(x[,par1], par3) + print(cl) + clm <- matrix(cbind(cl$centers,1:par3),ncol=2) + clm <- clm[sort.list(clm[,1]),] + for (i in 1:par3) { + cl$cluster[cl$cluster==clm[i,2]] <- paste('C',i,sep='') + } + cl$cluster <- as.factor(cl$cluster) + print(cl$cluster) + x[,par1] <- cl$cluster + } > if (par2 == 'quantiles') { + x[,par1] <- cut2(x[,par1],g=par3) + } > if (par2 == 'hclust') { + hc <- hclust(dist(x[,par1])^2, 'cen') + print(hc) + memb <- cutree(hc, k = par3) + dum <- c(mean(x[memb==1,par1])) + for (i in 2:par3) { + dum <- c(dum, mean(x[memb==i,par1])) + } + hcm <- matrix(cbind(dum,1:par3),ncol=2) + hcm <- hcm[sort.list(hcm[,1]),] + for (i in 1:par3) { + memb[memb==hcm[i,2]] <- paste('C',i,sep='') + } + memb <- as.factor(memb) + print(memb) + x[,par1] <- memb + } > if (par2=='equal') { + ed <- cut(as.numeric(x[,par1]),par3,labels=paste('C',1:par3,sep='')) + x[,par1] <- as.factor(ed) + } > table(x[,par1]) 0 1 4 5 7 11 15 18 19 22 24 27 29 30 34 35 36 37 39 40 5 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 4 1 2 41 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 62 63 65 1 2 5 5 2 1 1 2 2 2 1 4 3 1 4 2 2 2 3 1 66 67 68 69 71 74 75 76 78 80 81 82 83 84 85 86 87 90 92 94 3 4 3 1 3 1 1 1 1 2 2 2 2 3 1 3 2 1 1 1 95 96 99 104 109 111 113 117 124 126 127 129 131 132 144 146 150 153 156 159 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 240 243 258 267 1 1 1 1 > colnames(x) [1] "pageviews" "timeRFC" "logins" "compviews" [5] "prviews" "bloggedcomp" "reviewedcomp" "submittedfbpr" [9] "characters" "revisions" "seconds" "inclhyperlinks" [13] "inclblogs" > colnames(x)[par1] [1] "prviews" > x[,par1] [1] 109 68 1 146 124 267 83 48 87 129 146 95 57 240 46 81 85 62 [19] 126 44 37 94 127 159 41 153 86 55 78 84 71 111 71 243 66 0 [37] 58 131 258 56 90 57 35 53 46 37 45 111 104 150 37 49 83 67 [55] 39 69 58 68 30 54 65 81 84 45 52 36 80 144 45 40 126 75 [73] 54 82 86 62 99 63 76 92 45 57 44 132 44 67 82 71 44 68 [91] 54 86 59 74 18 156 87 15 104 54 11 37 80 66 27 59 113 24 [109] 0 55 43 45 55 66 5 0 67 67 117 51 63 84 35 57 29 19 [127] 51 63 96 22 7 34 5 43 1 34 0 49 44 0 4 40 52 47 > if (par2 == 'none') { + m <- ctree(as.formula(paste(colnames(x)[par1],' ~ .',sep='')),data = x) + } > > #Note: the /var/www/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/rcomp/createtable") > > if (par2 != 'none') { + m <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data = x) + if (par4=='yes') { + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'10-Fold Cross Validation',3+2*par3,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'',1,TRUE) + a<-table.element(a,'Prediction (training)',par3+1,TRUE) + a<-table.element(a,'Prediction (testing)',par3+1,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'Actual',1,TRUE) + for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) + a<-table.element(a,'CV',1,TRUE) + for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) + a<-table.element(a,'CV',1,TRUE) + a<-table.row.end(a) + for (i in 1:10) { + ind <- sample(2, nrow(x), replace=T, prob=c(0.9,0.1)) + m.ct <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data =x[ind==1,]) + if (i==1) { + m.ct.i.pred <- predict(m.ct, newdata=x[ind==1,]) + m.ct.i.actu <- x[ind==1,par1] + m.ct.x.pred <- predict(m.ct, newdata=x[ind==2,]) + m.ct.x.actu <- x[ind==2,par1] + } else { + m.ct.i.pred <- c(m.ct.i.pred,predict(m.ct, newdata=x[ind==1,])) + m.ct.i.actu <- c(m.ct.i.actu,x[ind==1,par1]) + m.ct.x.pred <- c(m.ct.x.pred,predict(m.ct, newdata=x[ind==2,])) + m.ct.x.actu <- c(m.ct.x.actu,x[ind==2,par1]) + } + } + print(m.ct.i.tab <- table(m.ct.i.actu,m.ct.i.pred)) + numer <- 0 + for (i in 1:par3) { + print(m.ct.i.tab[i,i] / sum(m.ct.i.tab[i,])) + numer <- numer + m.ct.i.tab[i,i] + } + print(m.ct.i.cp <- numer / sum(m.ct.i.tab)) + print(m.ct.x.tab <- table(m.ct.x.actu,m.ct.x.pred)) + numer <- 0 + for (i in 1:par3) { + print(m.ct.x.tab[i,i] / sum(m.ct.x.tab[i,])) + numer <- numer + m.ct.x.tab[i,i] + } + print(m.ct.x.cp <- numer / sum(m.ct.x.tab)) + for (i in 1:par3) { + a<-table.row.start(a) + a<-table.element(a,paste('C',i,sep=''),1,TRUE) + for (jjj in 1:par3) a<-table.element(a,m.ct.i.tab[i,jjj]) + a<-table.element(a,round(m.ct.i.tab[i,i]/sum(m.ct.i.tab[i,]),4)) + for (jjj in 1:par3) a<-table.element(a,m.ct.x.tab[i,jjj]) + a<-table.element(a,round(m.ct.x.tab[i,i]/sum(m.ct.x.tab[i,]),4)) + a<-table.row.end(a) + } + a<-table.row.start(a) + a<-table.element(a,'Overall',1,TRUE) + for (jjj in 1:par3) a<-table.element(a,'-') + a<-table.element(a,round(m.ct.i.cp,4)) + for (jjj in 1:par3) a<-table.element(a,'-') + a<-table.element(a,round(m.ct.x.cp,4)) + a<-table.row.end(a) + a<-table.end(a) + table.save(a,file="/var/www/rcomp/tmp/1lux61323895300.tab") + } + } > m Conditional inference tree with 5 terminal nodes Response: prviews Inputs: pageviews, timeRFC, logins, compviews, bloggedcomp, reviewedcomp, submittedfbpr, characters, revisions, seconds, inclhyperlinks, inclblogs Number of observations: 144 1) pageviews <= 1782; criterion = 1, statistic = 82.844 2) pageviews <= 708; criterion = 1, statistic = 60.546 3) submittedfbpr <= 4; criterion = 1, statistic = 18 4)* weights = 12 3) submittedfbpr > 4 5)* weights = 14 2) pageviews > 708 6) pageviews <= 1234; criterion = 0.998, statistic = 14.322 7)* weights = 50 6) pageviews > 1234 8)* weights = 40 1) pageviews > 1782 9)* weights = 28 > postscript(file="/var/www/rcomp/tmp/2wdiw1323895300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(m) > dev.off() null device 1 > postscript(file="/var/www/rcomp/tmp/3sels1323895300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(x[,par1] ~ as.factor(where(m)),main='Response by Terminal Node',xlab='Terminal Node',ylab='Response') > dev.off() null device 1 > if (par2 == 'none') { + forec <- predict(m) + result <- as.data.frame(cbind(x[,par1],forec,x[,par1]-forec)) + colnames(result) <- c('Actuals','Forecasts','Residuals') + print(result) + } Actuals Forecasts Residuals 1 109 77.775000 31.2250000 2 68 57.440000 10.5600000 3 1 3.166667 -2.1666667 4 146 126.892857 19.1071429 5 124 126.892857 -2.8928571 6 267 126.892857 140.1071429 7 83 77.775000 5.2250000 8 48 57.440000 -9.4400000 9 87 77.775000 9.2250000 10 129 126.892857 2.1071429 11 146 126.892857 19.1071429 12 95 126.892857 -31.8928571 13 57 77.775000 -20.7750000 14 240 126.892857 113.1071429 15 46 57.440000 -11.4400000 16 81 77.775000 3.2250000 17 85 77.775000 7.2250000 18 62 57.440000 4.5600000 19 126 126.892857 -0.8928571 20 44 31.857143 12.1428571 21 37 57.440000 -20.4400000 22 94 126.892857 -32.8928571 23 127 77.775000 49.2250000 24 159 126.892857 32.1071429 25 41 77.775000 -36.7750000 26 153 57.440000 95.5600000 27 86 77.775000 8.2250000 28 55 57.440000 -2.4400000 29 78 126.892857 -48.8928571 30 84 126.892857 -42.8928571 31 71 77.775000 -6.7750000 32 111 77.775000 33.2250000 33 71 126.892857 -55.8928571 34 243 126.892857 116.1071429 35 66 126.892857 -60.8928571 36 0 3.166667 -3.1666667 37 58 77.775000 -19.7750000 38 131 77.775000 53.2250000 39 258 126.892857 131.1071429 40 56 77.775000 -21.7750000 41 90 77.775000 12.2250000 42 57 77.775000 -20.7750000 43 35 57.440000 -22.4400000 44 53 77.775000 -24.7750000 45 46 57.440000 -11.4400000 46 37 57.440000 -20.4400000 47 45 31.857143 13.1428571 48 111 77.775000 33.2250000 49 104 77.775000 26.2250000 50 150 126.892857 23.1071429 51 37 31.857143 5.1428571 52 49 57.440000 -8.4400000 53 83 126.892857 -43.8928571 54 67 77.775000 -10.7750000 55 39 77.775000 -38.7750000 56 69 77.775000 -8.7750000 57 58 77.775000 -19.7750000 58 68 57.440000 10.5600000 59 30 57.440000 -27.4400000 60 54 126.892857 -72.8928571 61 65 77.775000 -12.7750000 62 81 77.775000 3.2250000 63 84 57.440000 26.5600000 64 45 57.440000 -12.4400000 65 52 57.440000 -5.4400000 66 36 57.440000 -21.4400000 67 80 126.892857 -46.8928571 68 144 126.892857 17.1071429 69 45 57.440000 -12.4400000 70 40 31.857143 8.1428571 71 126 126.892857 -0.8928571 72 75 57.440000 17.5600000 73 54 57.440000 -3.4400000 74 82 77.775000 4.2250000 75 86 126.892857 -40.8928571 76 62 57.440000 4.5600000 77 99 77.775000 21.2250000 78 63 126.892857 -63.8928571 79 76 57.440000 18.5600000 80 92 57.440000 34.5600000 81 45 57.440000 -12.4400000 82 57 77.775000 -20.7750000 83 44 57.440000 -13.4400000 84 132 77.775000 54.2250000 85 44 57.440000 -13.4400000 86 67 77.775000 -10.7750000 87 82 126.892857 -44.8928571 88 71 57.440000 13.5600000 89 44 57.440000 -13.4400000 90 68 57.440000 10.5600000 91 54 77.775000 -23.7750000 92 86 126.892857 -40.8928571 93 59 57.440000 1.5600000 94 74 57.440000 16.5600000 95 18 31.857143 -13.8571429 96 156 126.892857 29.1071429 97 87 77.775000 9.2250000 98 15 3.166667 11.8333333 99 104 77.775000 26.2250000 100 54 77.775000 -23.7750000 101 11 31.857143 -20.8571429 102 37 31.857143 5.1428571 103 80 57.440000 22.5600000 104 66 57.440000 8.5600000 105 27 31.857143 -4.8571429 106 59 31.857143 27.1428571 107 113 57.440000 55.5600000 108 24 31.857143 -7.8571429 109 0 3.166667 -3.1666667 110 55 57.440000 -2.4400000 111 43 57.440000 -14.4400000 112 45 57.440000 -12.4400000 113 55 57.440000 -2.4400000 114 66 57.440000 8.5600000 115 5 3.166667 1.8333333 116 0 3.166667 -3.1666667 117 67 57.440000 9.5600000 118 67 77.775000 -10.7750000 119 117 126.892857 -9.8928571 120 51 57.440000 -6.4400000 121 63 57.440000 5.5600000 122 84 77.775000 6.2250000 123 35 57.440000 -22.4400000 124 57 77.775000 -20.7750000 125 29 31.857143 -2.8571429 126 19 31.857143 -12.8571429 127 51 77.775000 -26.7750000 128 63 57.440000 5.5600000 129 96 77.775000 18.2250000 130 22 31.857143 -9.8571429 131 7 3.166667 3.8333333 132 34 57.440000 -23.4400000 133 5 3.166667 1.8333333 134 43 77.775000 -34.7750000 135 1 3.166667 -2.1666667 136 34 31.857143 2.1428571 137 0 3.166667 -3.1666667 138 49 57.440000 -8.4400000 139 44 57.440000 -13.4400000 140 0 3.166667 -3.1666667 141 4 3.166667 0.8333333 142 40 57.440000 -17.4400000 143 52 57.440000 -5.4400000 144 47 57.440000 -10.4400000 > if (par2 != 'none') { + print(cbind(as.factor(x[,par1]),predict(m))) + myt <- table(as.factor(x[,par1]),predict(m)) + print(myt) + } > postscript(file="/var/www/rcomp/tmp/4l8z31323895300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > if(par2=='none') { + op <- par(mfrow=c(2,2)) + plot(density(result$Actuals),main='Kernel Density Plot of Actuals') + plot(density(result$Residuals),main='Kernel Density Plot of Residuals') + plot(result$Forecasts,result$Actuals,main='Actuals versus Predictions',xlab='Predictions',ylab='Actuals') + plot(density(result$Forecasts),main='Kernel Density Plot of Predictions') + par(op) + } > if(par2!='none') { + plot(myt,main='Confusion Matrix',xlab='Actual',ylab='Predicted') + } > dev.off() null device 1 > if (par2 == 'none') { + detcoef <- cor(result$Forecasts,result$Actuals) + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Goodness of Fit',2,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'Correlation',1,TRUE) + a<-table.element(a,round(detcoef,4)) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'R-squared',1,TRUE) + a<-table.element(a,round(detcoef*detcoef,4)) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'RMSE',1,TRUE) + a<-table.element(a,round(sqrt(mean((result$Residuals)^2)),4)) + a<-table.row.end(a) + a<-table.end(a) + table.save(a,file="/var/www/rcomp/tmp/545rn1323895300.tab") + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Actuals, Predictions, and Residuals',4,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'#',header=TRUE) + a<-table.element(a,'Actuals',header=TRUE) + a<-table.element(a,'Forecasts',header=TRUE) + a<-table.element(a,'Residuals',header=TRUE) + a<-table.row.end(a) + for (i in 1:length(result$Actuals)) { + a<-table.row.start(a) + a<-table.element(a,i,header=TRUE) + a<-table.element(a,result$Actuals[i]) + a<-table.element(a,result$Forecasts[i]) + a<-table.element(a,result$Residuals[i]) + a<-table.row.end(a) + } + a<-table.end(a) + table.save(a,file="/var/www/rcomp/tmp/687g81323895300.tab") + } > if (par2 != 'none') { + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Confusion Matrix (predicted in columns / actuals in rows)',par3+1,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'',1,TRUE) + for (i in 1:par3) { + a<-table.element(a,paste('C',i,sep=''),1,TRUE) + } + a<-table.row.end(a) + for (i in 1:par3) { + a<-table.row.start(a) + a<-table.element(a,paste('C',i,sep=''),1,TRUE) + for (j in 1:par3) { + a<-table.element(a,myt[i,j]) + } + a<-table.row.end(a) + } + a<-table.end(a) + table.save(a,file="/var/www/rcomp/tmp/7r25w1323895300.tab") + } > > try(system("convert tmp/2wdiw1323895300.ps tmp/2wdiw1323895300.png",intern=TRUE)) character(0) > try(system("convert tmp/3sels1323895300.ps tmp/3sels1323895300.png",intern=TRUE)) character(0) > try(system("convert tmp/4l8z31323895300.ps tmp/4l8z31323895300.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 4.608 0.256 4.890