From b53ce340a2bc2ec7a3b4b8afd468afd2ef41e0b2 Mon Sep 17 00:00:00 2001 From: zjustinb <“zjustinb@hotmail.com”> Date: Mon, 14 Dec 2020 13:49:05 -0800 Subject: [PATCH] Assignment 6-group --- Clean_data_H5.csv | 550 ++++++++++++++++++++++++++++ Group assign-conclusion.docx | Bin 0 -> 77114 bytes HUDK4050 HW6.Rmd | 203 +++++++++++ HUDK4050 HW6_Kmeans&PCA.Rmd | 224 ++++++++++++ HUDK4050-HW6.html | 557 ++++++++++++++++++++++++++++ HUDK4050-HW6_Kmeans-PCA.html | 689 +++++++++++++++++++++++++++++++++++ Jump Rope Research.csv | 12 + R_cleaning_H5.Rmd | 55 +++ 8 files changed, 2290 insertions(+) create mode 100644 Clean_data_H5.csv create mode 100644 Group assign-conclusion.docx create mode 100644 HUDK4050 HW6.Rmd create mode 100644 HUDK4050 HW6_Kmeans&PCA.Rmd create mode 100644 HUDK4050-HW6.html create mode 100644 HUDK4050-HW6_Kmeans-PCA.html create mode 100644 Jump Rope Research.csv create mode 100644 R_cleaning_H5.Rmd diff --git a/Clean_data_H5.csv b/Clean_data_H5.csv new file mode 100644 index 0000000..681d998 --- /dev/null +++ b/Clean_data_H5.csv @@ -0,0 +1,550 @@ +"","Participant","time_formated","avg_x","avg_y","avg_z","abs_acceleration" +"1","Hangshi Jin",19:00:00,0.94929702970297,-9.27613861386139,-0.465858514851485,9.60990099009901 +"2","Hangshi Jin",19:00:01,0.434050505050505,-10.8777887878788,-1.98201111111111,15.7171515151515 +"3","Hangshi Jin",19:00:02,-0.350274,-8.034969,-1.457862,11.79485 +"4","Hangshi Jin",19:00:03,-1.408624,-11.3402541,-1.710936,15.016 +"5","Hangshi Jin",19:00:04,-1.207212,-7.6797016,-1.272703,12.0047 +"6","Hangshi Jin",19:00:05,-1.548945,-11.07423,-2.1862411,16.0646 +"7","Hangshi Jin",19:00:06,-1.447873,-9.752377,-1.307736,13.1692 +"8","Hangshi Jin",19:00:07,-1.70064356435644,-9.23726851485148,-1.3394099009901,13.8474653465347 +"9","Hangshi Jin",19:00:08,-1.514902,-11.57677,-1.220916,16.1631 +"10","Hangshi Jin",19:00:09,-1.294153,-7.676244,-1.0235646,12.77587 +"11","Hangshi Jin",19:00:10,-1.50183894736842,-11.9694189473684,-1.12590526315789,17.0572631578947 +"12","Hangshi Jin",19:00:11,-1.372212,-7.7329796,-0.908646,13.90316 +"13","Hangshi Jin",19:00:12,-1.63073,-11.574735,-1.502807,16.6516 +"14","Hangshi Jin",19:00:13,-1.061805,-7.80748351,-1.44817,13.45003 +"15","Hangshi Jin",19:00:14,-1.4346851,-11.22119599,-1.622306,16.8226 +"16","Hangshi Jin",19:00:15,-0.955380198019802,-9.41952475247525,-1.11000495049505,14.7033663366337 +"17","Hangshi Jin",19:00:16,-0.257057,-8.57259,-3.07946,13.5775 +"18","Hangshi Jin",19:00:17,-0.450583,-10.4087,-1.629114,11.2329 +"19","Hangshi Jin",19:00:18,-1.7474505,-8.945309,-1.750749,16.46786 +"20","Hangshi Jin",19:00:19,-1.358031,-8.293803,-1.543218,15.2215 +"21","Hangshi Jin",19:00:20,-1.464981,-11.578654,-2.141993,18.0842 +"22","Hangshi Jin",19:00:21,-1.1936779,-7.843342,-1.478896,14.35671 +"23","Hangshi Jin",19:00:22,-1.43799,-11.503867,-1.7427756,17.62045 +"24","Hangshi Jin",19:00:23,-1.09657,-8.4675,-0.87592,14.1114 +"25","Hangshi Jin",19:00:24,-0.121357,-9.3062,-3.640745,11.2721 +"26","Hangshi Jin",19:00:25,-0.176575,-9.7023,0.0667571,9.9875 +"27","Hangshi Jin",19:00:26,-1.029952,-9.036356,-1.7637,13.4242 +"28","Hangshi Jin",19:00:27,-1.177562,-9.37057,-2.115754,14.8 +"29","Hangshi Jin",19:00:28,-1.3851156,-10.335612,-1.295937,15.8447 +"30","Hangshi Jin",19:00:29,-1.217117,-9.590072,-1.070283,15.3293 +"31","Hangshi Jin",19:00:30,-1.44259306930693,-9.71577623762376,-0.915811881188119,15.7511188118812 +"32","Hangshi Jin",19:00:31,-1.484707,-10.94576,-1.329708,17.7804 +"33","Hangshi Jin",19:00:32,-1.34179,-8.038477,-1.512422,14.50524 +"34","Hangshi Jin",19:00:33,-1.342387,-10.77364,-1.76305,15.677 +"35","Hangshi Jin",19:00:34,-1.140988,-8.858871,-1.508736,14.7308 +"36","Hangshi Jin",19:00:35,-1.291657,-8.2633469,-1.55996,13.4944 +"37","Hangshi Jin",19:00:36,-1.217731,-11.7436,-2.464306,17.3057 +"38","Hangshi Jin",19:00:37,-1.182533,-8.022041,-0.9341,12.60739 +"39","Hangshi Jin",19:00:38,-1.004606,-11.91994,-1.8362137,17.2477 +"40","Hangshi Jin",19:00:39,-1.160772,-7.98343,-1.266756,14.1423 +"41","Hangshi Jin",19:00:40,-1.411795,-10.60417,-1.554366,16.6477 +"42","Hangshi Jin",19:00:41,-0.864471,-9.844541,-0.99523,18.3664 +"43","Hangshi Jin",19:00:42,-1.190874,-8.388207,-1.28025,16.0611 +"44","Hangshi Jin",19:00:43,-1.1389223,-11.44747,-1.42082,17.0196 +"45","Hangshi Jin",19:00:44,-1.048478,-8.267818,-1.5767672,13.00617 +"46","Hangshi Jin",19:00:45,-0.714228415841584,-11.3887396039604,-1.9177900990099,16.6382079207921 +"47","Hangshi Jin",19:00:46,-1.361578,-9.242758,-1.861895,16.7401 +"48","Hangshi Jin",19:00:47,-1.06943,-8.198077,-1.43645,13.1763 +"49","Hangshi Jin",19:00:48,-1.152712,-11.8432266,-1.908474,15.91535 +"50","Hangshi Jin",19:00:49,-1.185471,-8.2924423,-1.587508,14.0888 +"51","Hangshi Jin",19:00:50,-0.741669,-11.892541,-2.22086,16.32518 +"52","Hangshi Jin",19:00:51,-1.358751,-8.218409,-2.121174,14.3178 +"53","Hangshi Jin",19:00:52,-0.978476,-8.690725,-2.038094,13.1607 +"54","Hangshi Jin",19:00:53,-1.0000823,-12.2328762,-1.534282,18.8376 +"55","Hangshi Jin",19:00:54,-1.13128351,-8.588876,-1.787369,14.269 +"56","Hangshi Jin",19:00:55,-1.188969,-8.808137,-1.947129,14.2642 +"57","Hangshi Jin",19:00:56,-1.08464,-9.63225,-2.424278,14.7426 +"58","Hangshi Jin",19:00:57,-1.513362,-10.710156,-3.00958,17.0552 +"59","Hangshi Jin",19:00:58,-1.2590596,-9.486918,-2.81473,15.47745 +"60","Hangshi Jin",19:00:59,-1.418529,-10.61606,-2.5311198,15.3529 +"61","Hangshi Jin",19:01:00,-3.3518,-1.7686,-0.38,9.528 +"62","Kaijie Fang",19:00:00,1.54133762376238,-8.77287128712871,1.27193168316832,10.4081188118812 +"63","Kaijie Fang",19:00:01,0.1117481,-9.7692,1.10619,9.855 +"64","Kaijie Fang",19:00:02,0.0231618811881188,-10.3185742574257,0.537085148514851,11.4529801980198 +"65","Kaijie Fang",19:00:03,0.523440594059406,-8.9650697029703,0.384091089108911,15.4277524752475 +"66","Kaijie Fang",19:00:04,0.3041247,-7.29114,1.05891,13.35111 +"67","Kaijie Fang",19:00:05,0.469492079207921,-10.2442475247525,1.51542574257426,16.0005643564356 +"68","Kaijie Fang",19:00:06,0.0192079207920793,-7.83236633663366,0.798782178217822,14.800495049505 +"69","Kaijie Fang",19:00:07,-0.136139,-10.73867,1.50779,17.66643 +"70","Kaijie Fang",19:00:08,0.168060396039604,-6.81366336633663,0.824276237623762,12.943198019802 +"71","Kaijie Fang",19:00:09,-0.85371099009901,-10.9271207920792,1.04476831683168,16.3710792079208 +"72","Kaijie Fang",19:00:10,0.0518552083333333,-6.9750625,1.28676875,12.6555625 +"73","Kaijie Fang",19:00:11,0.313739603960396,-11.1309742574257,1.18657425742574,16.5915049504951 +"74","Kaijie Fang",19:00:12,-0.276836,-7.16522,1.0383541,12.73269 +"75","Kaijie Fang",19:00:13,0.489292079207921,-10.9814752475248,1.5208297029703,16.3084257425743 +"76","Kaijie Fang",19:00:14,0.863040594059406,-7.31990297029703,0.765559108910891,12.4838415841584 +"77","Kaijie Fang",19:00:15,-0.1325177,-10.91176,1.467906,16.04673 +"78","Kaijie Fang",19:00:16,0.412257425742574,-7.33232673267327,0.786269306930693,11.9501287128713 +"79","Kaijie Fang",19:00:17,-0.178005445544554,-10.9894782178218,1.32092475247525,16.2098217821782 +"80","Kaijie Fang",19:00:18,0.3013486,-7.367589,0.4770805,13.0779 +"81","Kaijie Fang",19:00:19,0.135000792079208,-11.0569564356436,1.7512000990099,16.7733663366337 +"82","Kaijie Fang",19:00:20,-0.260789108910891,-6.83940594059406,1.18775217821782,11.7523663366337 +"83","Kaijie Fang",19:00:21,0.019683,-11.58941,0.7208637,17.07774 +"84","Kaijie Fang",19:00:22,-0.118444356435644,-6.99223762376238,1.11116,12.3272871287129 +"85","Kaijie Fang",19:00:23,0.439544653465347,-11.2356712871287,1.25013168316832,17.2274554455446 +"86","Kaijie Fang",19:00:24,-0.0746559,-7.51704,0.53769,13.33647 +"87","Kaijie Fang",19:00:25,0.0619980198019802,-7.48534653465347,0.441437623762376,13.790801980198 +"88","Kaijie Fang",19:00:26,0.143509900990099,-10.9799900990099,1.41726732673267,17.1189603960396 +"89","Kaijie Fang",19:00:27,-0.06834,-7.047923,1.1441882,12.34917 +"90","Kaijie Fang",19:00:28,0.375336633663366,-11.3081584158416,1.04867227722772,17.2108910891089 +"91","Kaijie Fang",19:00:29,0.361848217821782,-7.10958415841584,1.09727821782178,12.4337128712871 +"92","Kaijie Fang",19:00:30,0.153303,-11.65388,0.5288648,17.11183 +"93","Kaijie Fang",19:00:31,0.349815841584158,-6.76294257425743,1.50113762376238,12.8586138613861 +"94","Kaijie Fang",19:00:32,0.653728811881188,-11.280603960396,1.26482178217822,17.150396039604 +"95","Kaijie Fang",19:00:33,0.593099,-7.23158,0.783428,13.0041 +"96","Kaijie Fang",19:00:34,0.921246534653465,-8.64953465346535,1.21825346534653,14.8132673267327 +"97","Kaijie Fang",19:00:35,0.450625742574257,-9.71500792079208,0.903806930693069,16.5955445544554 +"98","Kaijie Fang",19:00:36,1.842959,-6.37516,0.477417,13.55445 +"99","Kaijie Fang",19:00:37,0.657647623762376,-11.4459584158416,1.41750495049505,16.6834455445545 +"100","Kaijie Fang",19:00:38,0.910771287128713,-6.70036633663366,1.22805247524752,12.910396039604 +"101","Kaijie Fang",19:00:39,-0.264681,-11.581299,0.612994,18.27282 +"102","Kaijie Fang",19:00:40,1.42146534653465,-6.61026732673267,1.41092079207921,12.8392871287129 +"103","Kaijie Fang",19:00:41,-0.163369108910891,-8.93853663366337,0.956237623762376,15.6187128712871 +"104","Kaijie Fang",19:00:42,-0.128333,-10.161808,0.86344,15.76863 +"105","Kaijie Fang",19:00:43,0.533586732673267,-7.48746534653465,1.08202574257426,12.4039603960396 +"106","Kaijie Fang",19:00:44,0.382310891089109,-11.3904198019802,1.37886207920792,18.1255841584158 +"107","Kaijie Fang",19:00:45,0.180995,-7.4305387,0.86357,13.96501 +"108","Kaijie Fang",19:00:46,0.283560396039604,-7.48648514851485,0.7813,13.5415247524752 +"109","Kaijie Fang",19:00:47,-0.209538613861386,-11.7798702970297,0.966338613861386,17.2876336633663 +"110","Kaijie Fang",19:00:48,0.431319,-7.38043,0.810847,12.67236 +"111","Kaijie Fang",19:00:49,0.729268316831683,-7.72673267326733,0.392932673267327,12.3795346534653 +"112","Kaijie Fang",19:00:50,0.0636580198019802,-11.9665247524752,1.33403267326733,17.1435643564356 +"113","Kaijie Fang",19:00:51,0.479216,-7.50162,1.136112,12.6509 +"114","Kaijie Fang",19:00:52,0.215726831683168,-7.74346514851485,0.333036633663366,12.4077326732673 +"115","Kaijie Fang",19:00:53,0.310539801980198,-11.3301584158416,1.45507227722772,16.763900990099 +"116","Kaijie Fang",19:00:54,1.118781,-7.205761,1.106811,12.90546 +"117","Kaijie Fang",19:00:55,0.231233366336634,-10.2737623762376,-0.0601633663366336,11.0424752475248 +"118","Kaijie Fang",19:00:56,0.40188,-8.99126,0.7372684,10.3231 +"119","Kaijie Fang",19:00:57,0.760291089108911,-9.14289306930693,0.589346534653465,13.6479900990099 +"120","Kaijie Fang",19:00:58,-1.01792574257426,-11.7290207920792,0.124359405940594,15.6229801980198 +"121","Kaijie Fang",19:00:59,-1.3078094,-8.663491,0.5134602,11.37102 +"122","Kaijie Fang",19:01:00,1.2225,2.8375,1.115475,3.355 +"123","Paolo Rivas",19:00:00,-6.71105158730159,-3.5242551984127,2.60841964285714,10.7689126984127 +"124","Paolo Rivas",19:00:01,0.277406374501992,-9.36852988047809,-0.623373705179283,11.1056573705179 +"125","Paolo Rivas",19:00:02,3.28834523809524,-9.34015396825397,-1.17283928571429,10.7596031746032 +"126","Paolo Rivas",19:00:03,3.63716857142857,-8.53555936507937,-0.613822222222222,13.541626984127 +"127","Paolo Rivas",19:00:04,3.5965119047619,-10.8484134920635,-0.92233253968254,19.9771031746032 +"128","Paolo Rivas",19:00:05,1.87736756972112,-11.4997609561753,-3.08942948207171,19.5702788844622 +"129","Paolo Rivas",19:00:06,2.6633380952381,-10.0822301587302,-1.7383503968254,18.0188134920635 +"130","Paolo Rivas",19:00:07,1.89193253968254,-9.91129007936508,-0.331657817460317,19.6088492063492 +"131","Paolo Rivas",19:00:08,2.1114369047619,-9.09715416666667,-1.07774801587302,20.0176984126984 +"132","Paolo Rivas",19:00:09,1.01452658730159,-6.7067130952381,-1.29289055555556,14.7705158730159 +"133","Paolo Rivas",19:00:10,1.61401458333333,-10.6986147083333,-0.11220875,19.8003083333333 +"134","Paolo Rivas",19:00:11,1.89952738095238,-10.480001984127,-0.940694444444444,21.1912698412698 +"135","Paolo Rivas",19:00:12,1.13554444444444,-9.93099682539683,-0.800001190476191,19.7428174603175 +"136","Paolo Rivas",19:00:13,0.657465873015873,-10.5991384920635,-0.564868253968254,19.7449206349206 +"137","Paolo Rivas",19:00:14,1.91289944444444,-10.2876916666667,-1.41510079365079,19.2815476190476 +"138","Paolo Rivas",19:00:15,2.09677024603175,-9.97859218253968,-1.16109761904762,20.7750992063492 +"139","Paolo Rivas",19:00:16,0.658974900398406,-10.1497456175299,-1.21916613545817,18.7423306772908 +"140","Paolo Rivas",19:00:17,1.74702777777778,-10.3089404761905,-0.650777380952381,21.2788492063492 +"141","Paolo Rivas",19:00:18,1.82270595238095,-9.47448293650794,-0.571372222222222,21.3715634920635 +"142","Paolo Rivas",19:00:19,1.46690317460317,-9.43214007936508,0.348395476190476,22.3637738095238 +"143","Paolo Rivas",19:00:20,0.0346936507936508,-8.13686111111111,-0.790129761904762,12.3000793650794 +"144","Paolo Rivas",19:00:21,0.454460714285714,-10.4243492063492,-1.1681046031746,13.3598412698413 +"145","Paolo Rivas",19:00:22,0.876919047619048,-10.9847579365079,-2.64793492063492,16.4822698412698 +"146","Paolo Rivas",19:00:23,1.34157529880478,-9.62552533864542,-1.06140956175299,13.5148207171315 +"147","Paolo Rivas",19:00:24,1.56681305555556,-10.094421031746,-1.49748055555556,14.5409920634921 +"148","Paolo Rivas",19:00:25,1.84472115079365,-10.6501611111111,-1.6846123015873,20.3827619047619 +"149","Paolo Rivas",19:00:26,1.65038412698413,-10.7796484920635,-1.4546626984127,19.5382936507937 +"150","Paolo Rivas",19:00:27,1.23834007936508,-9.72853849206349,0.608849206349206,20.6212301587302 +"151","Paolo Rivas",19:00:28,2.2096121031746,-7.90295119047619,-1.3231619047619,18.6583015873016 +"152","Paolo Rivas",19:00:29,1.21483895238095,-9.38081388888889,-1.58598174603175,19.8839682539683 +"153","Paolo Rivas",19:00:30,1.76879027888446,-10.4343426294821,0.738365737051793,21.2340637450199 +"154","Paolo Rivas",19:00:31,1.67383103174603,-11.3244952380952,-1.66614777777778,22.6878571428571 +"155","Paolo Rivas",19:00:32,1.9876071031746,-10.9573976190476,-0.922608095238095,21.370876984127 +"156","Paolo Rivas",19:00:33,1.45726523809524,-10.7430448412698,-1.66336349206349,21.4704365079365 +"157","Paolo Rivas",19:00:34,3.23231785714286,-8.68474841269841,0.741119841269841,18.5282936507936 +"158","Paolo Rivas",19:00:35,1.70108373015873,-8.45333333333333,-2.77312698412698,11.6769047619048 +"159","Paolo Rivas",19:00:36,2.3883373015873,-9.64558619444444,-1.96577698412698,19.3379722222222 +"160","Paolo Rivas",19:00:37,1.93955219123506,-10.3864573705179,-0.221531075697211,20.872764940239 +"161","Paolo Rivas",19:00:38,0.908500793650794,-9.94489837301587,-0.32126626984127,19.0361507936508 +"162","Paolo Rivas",19:00:39,1.49177432539683,-11.0920853571429,-1.38363412698413,22.5272222222222 +"163","Paolo Rivas",19:00:40,2.43039349206349,-10.611771031746,-0.330355555555556,23.334246031746 +"164","Paolo Rivas",19:00:41,2.38170595238095,-9.84858345238095,-1.30216988095238,20.941623015873 +"165","Paolo Rivas",19:00:42,1.65583619047619,-10.6807313492063,-0.549119047619048,21.3242857142857 +"166","Paolo Rivas",19:00:43,1.40797857142857,-9.62614761904762,-1.09135912698413,19.9473531746032 +"167","Paolo Rivas",19:00:44,2.25431832669323,-11.755479247012,-0.724944621513944,15.1064143426295 +"168","Paolo Rivas",19:00:45,2.0524623015873,-8.52243253968254,0.0227488095238095,16.0957341269841 +"169","Paolo Rivas",19:00:46,1.79112611111111,-9.18832214285714,-0.644431746031746,13.9025 +"170","Paolo Rivas",19:00:47,2.28260353174603,-9.84912023809524,-0.800829365079365,20.3626587301587 +"171","Paolo Rivas",19:00:48,2.69563611111111,-9.80275833333333,-0.87695,21.0007698412698 +"172","Paolo Rivas",19:00:49,1.81839206349206,-10.8052936507937,-1.12711111111111,22.4967063492063 +"173","Paolo Rivas",19:00:50,1.40104563492063,-10.2677934126984,-1.5555119047619,20.625873015873 +"174","Paolo Rivas",19:00:51,2.43699721115538,-9.79560478087649,-1.70890996015936,21.39203187251 +"175","Paolo Rivas",19:00:52,1.14328916666667,-9.85940595238095,-1.07268849206349,19.0822658730159 +"176","Paolo Rivas",19:00:53,1.6187173015873,-10.0456420634921,-0.017531746031746,20.353373015873 +"177","Paolo Rivas",19:00:54,2.50894845238095,-9.80906408730159,-0.175954365079365,21.1793888888889 +"178","Paolo Rivas",19:00:55,1.94864880952381,-9.65952984126984,-0.59501626984127,20.2261587301587 +"179","Paolo Rivas",19:00:56,2.34249404761905,-9.55055515873016,-1.33391011904762,20.244996031746 +"180","Paolo Rivas",19:00:57,1.61990079365079,-8.59497182539683,-1.18909761904762,19.7532777777778 +"181","Paolo Rivas",19:00:58,1.41671434262948,-9.28070637450199,-2.17138880478088,17.0328685258964 +"182","Paolo Rivas",19:00:59,1.23544007936508,-11.0176984126984,-0.882784920634921,13.1799206349206 +"183","Paolo Rivas",19:01:00,6.04870588235294,-8.89176470588235,0.851529411764706,11.0241176470588 +"184","Qiyu Wu",19:00:00,-0.0896368316831683,4.58807326732673,7.08488118811881,10.4056435643564 +"185","Qiyu Wu",19:00:01,-2.232553,9.22811,-2.014974,9.9255 +"186","Qiyu Wu",19:00:02,-0.701866336633663,9.66227722772277,-1.31108326732673,9.86613861386139 +"187","Qiyu Wu",19:00:03,-1.0776783,10.81492,-0.0281517,12.1278 +"188","Qiyu Wu",19:00:04,-1.04031584158416,7.86910495049505,-0.0477821782178218,11.5269306930693 +"189","Qiyu Wu",19:00:05,-1.98731683168317,10.9786069306931,-0.335991089108911,12.7697821782178 +"190","Qiyu Wu",19:00:06,-1.058336,8.309015,-0.2531175,10.23875 +"191","Qiyu Wu",19:00:07,-1.93845445544554,11.078297029703,-1.00882277227723,12.7968316831683 +"192","Qiyu Wu",19:00:08,-1.041849,8.00251501,-0.1866907,9.5635 +"193","Qiyu Wu",19:00:09,-1.93529702970297,11.2127386138614,-0.178394950495049,12.8631782178218 +"194","Qiyu Wu",19:00:10,-1.24857708333333,8.594409375,0.4993325,10.4704895833333 +"195","Qiyu Wu",19:00:11,-1.49593693069307,9.88674485148515,0.0258188118811881,11.3438217821782 +"196","Qiyu Wu",19:00:12,-1.523654,10.129138,-0.254402,11.96948 +"197","Qiyu Wu",19:00:13,-1.27265346534653,8.1168,0.0474,10.1413762376238 +"198","Qiyu Wu",19:00:14,-2.093752,11.211606,0.06780402,12.90665 +"199","Qiyu Wu",19:00:15,-1.49025643564356,9.1426702970297,0.117541584158416,10.8415445544554 +"200","Qiyu Wu",19:00:16,-1.60834762376238,8.47767227722772,0.368257425742574,10.3357326732673 +"201","Qiyu Wu",19:00:17,-1.767202,11.691906,-0.099172,13.05065 +"202","Qiyu Wu",19:00:18,-1.58894851485149,8.40547930693069,-0.419391089108911,10.1961782178218 +"203","Qiyu Wu",19:00:19,-1.4515,9.078398,-0.021504,10.47201 +"204","Qiyu Wu",19:00:20,-2.60886237623762,10.9137792079208,-0.0540351485148515,12.6928415841584 +"205","Qiyu Wu",19:00:21,-1.44864465346535,9.07467326732673,0.0570029702970297,10.7247623762376 +"206","Qiyu Wu",19:00:22,-1.561671,8.8357595,-0.2053542,10.73443 +"207","Qiyu Wu",19:00:23,-1.79281524752475,9.35936584158416,0.174218811881188,11.4909801980198 +"208","Qiyu Wu",19:00:24,-1.924012,10.490418,0.19488401,12.18385 +"209","Qiyu Wu",19:00:25,-2.23012772277228,10.2498653465347,-0.145559405940594,12.2090297029703 +"210","Qiyu Wu",19:00:26,-1.889376,10.01361,0.0819473,11.66019 +"211","Qiyu Wu",19:00:27,-1.91517326732673,8.76620099009901,-0.0585188118811881,10.5358118811881 +"212","Qiyu Wu",19:00:28,-1.57875306930693,8.9634099009901,-0.115934653465347,10.5040693069307 +"213","Qiyu Wu",19:00:29,-1.4941986,8.939722,0.1749831,10.64977 +"214","Qiyu Wu",19:00:30,-2.37010297029703,10.1079623762376,0.0694227722772277,12.0582178217822 +"215","Qiyu Wu",19:00:31,-2.311664,10.6236,0.298991,12.6824 +"216","Qiyu Wu",19:00:32,-2.20099306930693,9.71142089108911,0.0681886336633663,11.6799702970297 +"217","Qiyu Wu",19:00:33,-2.10765346534653,8.86995732673267,-0.480406930693069,10.552603960396 +"218","Qiyu Wu",19:00:34,-2.14416,8.587125,-0.405651,10.6786 +"219","Qiyu Wu",19:00:35,-2.47356732673267,10.276401980198,-0.638565346534653,11.7707722772277 +"220","Qiyu Wu",19:00:36,-2.6367871,10.18371,-0.788928,11.94866 +"221","Qiyu Wu",19:00:37,-1.91838217821782,8.09896168316832,-0.432130693069307,10.5021782178218 +"222","Qiyu Wu",19:00:38,-2.42090881188119,9.49812673267327,0.0179476237623762,11.447099009901 +"223","Qiyu Wu",19:00:39,-2.924125,10.33837,0.021087,12.2103 +"224","Qiyu Wu",19:00:40,-2.48244554455446,9.49417722772277,0.39625801980198,11.1963366336634 +"225","Qiyu Wu",19:00:41,-2.376257,8.35794,-0.65929,10.99338 +"226","Qiyu Wu",19:00:42,-2.3409396039604,9.50006237623762,0.331788108910891,12.5292079207921 +"227","Qiyu Wu",19:00:43,-3.12265,10.399846,0.811207,13.39084 +"228","Qiyu Wu",19:00:44,-2.40137821782178,8.6633198019802,1.22707920792079,9.80920792079208 +"229","Qiyu Wu",19:00:45,-0.0187034653465346,9.17851485148515,3.82237623762376,10.0742574257426 +"230","Qiyu Wu",19:00:46,-0.7360846,9.2561,3.3823,9.9016 +"231","Qiyu Wu",19:00:47,-2.5644198019802,9.66508910891089,0.404391485148515,11.001 +"232","Qiyu Wu",19:00:48,-2.145823,8.204386,-0.4139136,10.48553 +"233","Qiyu Wu",19:00:49,-2.91108712871287,9.6207504950495,-0.550929702970297,11.6033762376238 +"234","Qiyu Wu",19:00:50,-2.05970297029703,9.58565346534654,0.0370038613861386,11.6691089108911 +"235","Qiyu Wu",19:00:51,-2.761719,10.492268,-0.171396,12.25515 +"236","Qiyu Wu",19:00:52,-2.41335643564356,9.8217,0.362441089108911,11.8007920792079 +"237","Qiyu Wu",19:00:53,-2.662272,8.805194,0.01595701,11.16324 +"238","Qiyu Wu",19:00:54,-2.64198118811881,8.61194653465347,-0.282674950495049,10.6903762376238 +"239","Qiyu Wu",19:00:55,-2.68595643564356,8.75722316831683,0.513238613861386,11.274603960396 +"240","Qiyu Wu",19:00:56,-2.645499,11.02415,0.261114,13.18315 +"241","Qiyu Wu",19:00:57,-2.63329504950495,10.1657702970297,0.26546702970297,11.8667128712871 +"242","Qiyu Wu",19:00:58,-2.429293,8.861897,0.2559417,11.12868 +"243","Qiyu Wu",19:00:59,-2.34744455445545,8.48020099009901,-0.319478217821782,10.1189801980198 +"244","Qiyu Wu",19:01:00,-0.361666666666667,-0.519,-0.289333333333333,0.720666666666667 +"245","Ruoyi Wang",19:00:00,-0.06286499,7.1019,7.9468,10.6951 +"246","Ruoyi Wang",19:00:01,-0.194224444444444,8.40881818181818,5.98463636363636,11.3782828282828 +"247","Ruoyi Wang",19:00:02,0.0130161616161616,7.12013535353535,7.05186565656566,10.5955252525253 +"248","Ruoyi Wang",19:00:03,-0.134757575757576,7.13521515151515,5.75123232323232,9.65972727272727 +"249","Ruoyi Wang",19:00:04,-0.1461172,6.43651,4.673474,8.6841 +"250","Ruoyi Wang",19:00:05,-0.188159909090909,8.40019191919192,5.81023232323232,12.6230909090909 +"251","Ruoyi Wang",19:00:06,-0.2733952,8.323627,5.302132,11.5741 +"252","Ruoyi Wang",19:00:07,-0.459687575757576,6.91387131313131,5.36891717171717,10.3130707070707 +"253","Ruoyi Wang",19:00:08,-0.0387029292929293,7.74229292929293,5.67087080808081,10.5431717171717 +"254","Ruoyi Wang",19:00:09,-0.203623,10.6107,6.803761,12.9813 +"255","Ruoyi Wang",19:00:10,-0.29091170212766,6.06554255319149,3.48432978723404,8.56010638297872 +"256","Ruoyi Wang",19:00:11,-0.492914,8.059777,5.801483,11.31863 +"257","Ruoyi Wang",19:00:12,-0.351478787878788,8.42229393939394,7.00361919191919,13.6435353535354 +"258","Ruoyi Wang",19:00:13,-0.1266945,7.18176,4.86787,10.7176 +"259","Ruoyi Wang",19:00:14,-0.138173737373737,6.73504444444444,4.64679494949495,9.23740404040404 +"260","Ruoyi Wang",19:00:15,-0.395746464646465,8.45105,5.21884747474747,10.7807070707071 +"261","Ruoyi Wang",19:00:16,-0.243789,8.855472,4.96305,10.98777 +"262","Ruoyi Wang",19:00:17,-0.61859797979798,8.40906868686869,5.88778686868687,11.7705050505051 +"263","Ruoyi Wang",19:00:18,-0.456079898989899,7.8339101010101,5.64861616161616,11.0174343434343 +"264","Ruoyi Wang",19:00:19,-0.264337,7.470005,5.600013,10.07094 +"265","Ruoyi Wang",19:00:20,-0.0834535353535354,7.32563333333333,5.95121212121212,10.5408484848485 +"266","Ruoyi Wang",19:00:21,0.0838151515151515,5.90168686868687,6.61882121212121,11.0206666666667 +"267","Ruoyi Wang",19:00:22,-0.3273561,7.88892,5.063061,10.65803 +"268","Ruoyi Wang",19:00:23,-0.337653535353535,7.50899494949495,6.20273131313131,11.2641818181818 +"269","Ruoyi Wang",19:00:24,-0.223237,8.2389,5.711878,11.17599 +"270","Ruoyi Wang",19:00:25,-0.985217676767677,9.0079797979798,7.76662626262626,13.1961515151515 +"271","Ruoyi Wang",19:00:26,-1.15331464646465,6.92795151515152,6.16297171717172,11.2446363636364 +"272","Ruoyi Wang",19:00:27,-0.8911593,7.30802,7.958464,11.68 +"273","Ruoyi Wang",19:00:28,-0.468843434343434,6.36656262626263,7.34852525252525,11.6768686868687 +"274","Ruoyi Wang",19:00:29,-0.102711717171717,6.13756565656566,5.81917575757576,10.7106060606061 +"275","Ruoyi Wang",19:00:30,-0.0198872,6.111346,5.417633,9.7488 +"276","Ruoyi Wang",19:00:31,-1.00340848484848,7.64813212121212,7.05468686868687,11.3968282828283 +"277","Ruoyi Wang",19:00:32,-0.424864646464646,8.01690505050505,8.46934696969697,12.9447575757576 +"278","Ruoyi Wang",19:00:33,-1.455962,4.739841,3.95942,8.7446 +"279","Ruoyi Wang",19:00:34,-1.10957373737374,7.20834949494949,10.0078383838384,14.0138282828283 +"280","Ruoyi Wang",19:00:35,-0.542752525252525,7.64788484848485,4.43599494949495,11.5108484848485 +"281","Ruoyi Wang",19:00:36,-0.414656,6.137292,5.4508,10.89009 +"282","Ruoyi Wang",19:00:37,-1.04546565656566,9.14214141414141,7.79050505050505,14.149595959596 +"283","Ruoyi Wang",19:00:38,-1.142459,6.8194129,3.390477,10.03328 +"284","Ruoyi Wang",19:00:39,-1.57097171717172,8.10000909090909,5.39155858585859,13.4636060606061 +"285","Ruoyi Wang",19:00:40,-0.925423232323232,7.79479696969697,9.20383939393939,13.938797979798 +"286","Ruoyi Wang",19:00:41,-0.720903,5.252143,3.633052,9.04697 +"287","Ruoyi Wang",19:00:42,-0.243221212121212,9.46803838383838,5.612,12.5878787878788 +"288","Ruoyi Wang",19:00:43,0.254883535353535,5.76858585858586,8.06060606060606,10.039898989899 +"289","Ruoyi Wang",19:00:44,-0.2207266,6.0608,8.2011,10.3369 +"290","Ruoyi Wang",19:00:45,-0.0242039292929293,5.52677676767677,6.36084242424242,10.0302121212121 +"291","Ruoyi Wang",19:00:46,-0.199497575757576,7.70668686868687,7.48411919191919,12.7766666666667 +"292","Ruoyi Wang",19:00:47,-0.840748,7.0335,5.55625,11.4263 +"293","Ruoyi Wang",19:00:48,-0.283979797979798,7.1150303030303,5.64483838383838,9.7609696969697 +"294","Ruoyi Wang",19:00:49,-1.204042,7.6339,6.62288,13.28603 +"295","Ruoyi Wang",19:00:50,-0.898569696969697,7.7669595959596,6.83371717171717,11.9839292929293 +"296","Ruoyi Wang",19:00:51,-0.766483838383838,7.31986828282828,4.30833434343434,10.6127575757576 +"297","Ruoyi Wang",19:00:52,-0.1676593,9.663087,6.117103,12.46055 +"298","Ruoyi Wang",19:00:53,-0.517536363636364,5.55063636363636,4.41489090909091,10.2929292929293 +"299","Ruoyi Wang",19:00:54,0.869988888888889,9.96791919191919,7.69724242424242,14.7829292929293 +"300","Ruoyi Wang",19:00:55,-0.409645,6.66067,3.642988,10.61841 +"301","Ruoyi Wang",19:00:56,-0.306787878787879,7.14722727272727,6.97846666666667,13.2148181818182 +"302","Ruoyi Wang",19:00:57,-0.777421212121212,8.12221616161616,8.81425151515151,14.6792121212121 +"303","Ruoyi Wang",19:00:58,0.4912025,3.674174,4.908131,10.6405 +"304","Ruoyi Wang",19:00:59,0.455297373737374,9.40042626262626,4.90268585858586,11.8877373737374 +"305","Ruoyi Wang",19:01:00,-1.657,10.348,5.626,11.96 +"306","Vidya Madhaban",19:00:00,-3.16273111111111,-1.03456691919192,13.0653235606061,20.0558282828283 +"307","Vidya Madhaban",19:00:01,-2.24741512690355,3.38478172588832,9.1278269035533,21.2810406091371 +"308","Vidya Madhaban",19:00:02,-1.63822461363636,6.24809797979798,7.38151623737374,16.2051666666667 +"309","Vidya Madhaban",19:00:03,-1.01460340151515,5.93493712121212,7.70555631313131,14.5939393939394 +"310","Vidya Madhaban",19:00:04,-0.0743911616161616,5.83655631313131,7.9147598989899,14.1778282828283 +"311","Vidya Madhaban",19:00:05,-0.666272626262626,5.8134578030303,6.53898166666667,13.1282828282828 +"312","Vidya Madhaban",19:00:06,0.422984166666667,5.83888383838384,7.12074671717172,14.1143686868687 +"313","Vidya Madhaban",19:00:07,1.54958964646465,5.89401111111111,7.27618333333333,13.670404040404 +"314","Vidya Madhaban",19:00:08,1.3533444949495,6.0505303030303,6.37211641414141,12.1895202020202 +"315","Vidya Madhaban",19:00:09,1.71843467929293,6.06103861111111,7.74563560606061,14.0939646464646 +"316","Vidya Madhaban",19:00:10,1.06769857142857,5.92526984126984,8.41216878306878,16.3043650793651 +"317","Vidya Madhaban",19:00:11,-0.45859345959596,5.518825,9.25027641414141,16.6069696969697 +"318","Vidya Madhaban",19:00:12,0.596544931818182,6.09250707070707,9.47806186868687,16.0295707070707 +"319","Vidya Madhaban",19:00:13,0.0713658838383838,6.57534949494949,9.13054146464646,16.0033080808081 +"320","Vidya Madhaban",19:00:14,0.909501868686869,5.61846035353535,8.54833666666667,16.1647474747475 +"321","Vidya Madhaban",19:00:15,0.617700833333333,5.36960252525253,8.32381170454545,15.2488131313131 +"322","Vidya Madhaban",19:00:16,2.20386388888889,4.13398409090909,7.93141464646465,14.5535858585859 +"323","Vidya Madhaban",19:00:17,1.24144863636364,5.05094343434343,6.57848569444444,12.4621464646465 +"324","Vidya Madhaban",19:00:18,0.453403797468354,3.87223848101266,8.38986169620253,15.6939240506329 +"325","Vidya Madhaban",19:00:19,-1.33260176767677,5.67826085858586,8.14848863636364,15.4062373737374 +"326","Vidya Madhaban",19:00:20,-0.637821363636364,6.04702563131313,7.95763744949495,15.7005808080808 +"327","Vidya Madhaban",19:00:21,-1.1781096969697,7.12816237373737,7.63991944444444,14.7837121212121 +"328","Vidya Madhaban",19:00:22,-1.40111262626263,6.8202476010101,7.6218351010101,14.7044949494949 +"329","Vidya Madhaban",19:00:23,-1.57456363636364,6.73349949494949,7.2879244949495,14.8598232323232 +"330","Vidya Madhaban",19:00:24,-2.13276414141414,6.89970580808081,8.06725656565657,14.9244696969697 +"331","Vidya Madhaban",19:00:25,-2.57016818181818,6.16424747474747,8.12500176767677,15.927095959596 +"332","Vidya Madhaban",19:00:26,-2.27824636363636,5.86990883838384,8.34702196969697,15.5800757575758 +"333","Vidya Madhaban",19:00:27,-1.98928108585859,5.05107272727273,8.05040707070707,15.2763636363636 +"334","Vidya Madhaban",19:00:28,-2.04618823232323,4.61119949494949,7.41258611111111,14.4411363636364 +"335","Vidya Madhaban",19:00:29,-1.60098181818182,4.59064065656566,6.93425934343434,13.4238888888889 +"336","Vidya Madhaban",19:00:30,-0.973587474747475,5.35641060606061,7.07135151515152,13.2271464646465 +"337","Vidya Madhaban",19:00:31,-1.28331569949495,6.13703636363636,7.6937446969697,13.9679292929293 +"338","Vidya Madhaban",19:00:32,-0.695472474747475,6.6360095959596,6.91320872474747,13.3997727272727 +"339","Vidya Madhaban",19:00:33,-1.3600454040404,6.14221909090909,8.11930227272727,15.3890151515152 +"340","Vidya Madhaban",19:00:34,-2.26595181818182,6.14171868686869,8.7605478030303,16.5058080808081 +"341","Vidya Madhaban",19:00:35,-1.47031580808081,5.54535151515152,9.90330791666667,17.2191666666667 +"342","Vidya Madhaban",19:00:36,-2.94484121212121,7.06176085858586,6.88768964646465,14.8326262626263 +"343","Vidya Madhaban",19:00:37,-2.75443434343434,7.00687121212121,5.58505808080808,14.0328282828283 +"344","Vidya Madhaban",19:00:38,-2.72946909090909,6.21534767676768,5.82781090909091,13.5414646464646 +"345","Vidya Madhaban",19:00:39,-2.57522727272727,6.13402272727273,4.45419772727273,12.5481313131313 +"346","Vidya Madhaban",19:00:40,-2.52686515151515,6.14385454545455,5.45753055555556,12.9438383838384 +"347","Vidya Madhaban",19:00:41,-2.59633108860759,7.29482086075949,6.24331637974684,13.7280759493671 +"348","Vidya Madhaban",19:00:42,-1.80599924242424,7.968775,6.60213494949495,14.4681565656566 +"349","Vidya Madhaban",19:00:43,-2.41191742424242,7.73344772727273,6.74246529040404,14.4434848484848 +"350","Vidya Madhaban",19:00:44,-2.43792358585859,7.75125126262626,7.31406919191919,14.5269444444444 +"351","Vidya Madhaban",19:00:45,-2.01010631313131,7.70640404040404,6.08855404040404,14.9572474747475 +"352","Vidya Madhaban",19:00:46,-2.34153055555556,6.81526585858586,5.65366186868687,14.8725757575758 +"353","Vidya Madhaban",19:00:47,-2.6196946969697,5.35178914141414,5.30620212121212,14.2409090909091 +"354","Vidya Madhaban",19:00:48,-2.46648782828283,6.05372419191919,5.61486217171717,13.9831565656566 +"355","Vidya Madhaban",19:00:49,-1.7215870959596,6.33973358585859,6.93969426767677,15.5329797979798 +"356","Vidya Madhaban",19:00:50,-2.44792348484848,6.2187952020202,7.40040328282828,17.6901767676768 +"357","Vidya Madhaban",19:00:51,-3.41907803030303,7.23432146464646,7.01838342171717,16.4505303030303 +"358","Vidya Madhaban",19:00:52,-2.16699356060606,7.29444015151515,6.56042575757576,16.8968939393939 +"359","Vidya Madhaban",19:00:53,-2.71206287878788,7.59292974747475,6.9063154040404,16.5405555555556 +"360","Vidya Madhaban",19:00:54,-3.21119828282828,7.65251590909091,7.28808691919192,16.3083585858586 +"361","Vidya Madhaban",19:00:55,-2.92045707070707,7.12692398989899,7.31807636363636,15.8417676767677 +"362","Vidya Madhaban",19:00:56,-3.26307828282828,5.94081717171717,5.89244558080808,15.1889393939394 +"363","Vidya Madhaban",19:00:57,-1.74371727272727,4.66961111111111,5.41526792929293,14.2440909090909 +"364","Vidya Madhaban",19:00:58,-2.33475732323232,5.58732575757576,6.46262061868687,14.7691919191919 +"365","Vidya Madhaban",19:00:59,-4.14314873737374,7.29174287878788,6.47528704545455,16.4510101010101 +"366","Vidya Madhaban",19:01:00,-0.9995875,-3.17875,-0.385675,3.5275 +"367","Wenning Xiao",19:00:00,-1.32247524752475,9.63940594059406,0.0466336633663366,9.7509900990099 +"368","Wenning Xiao",19:00:01,-1.8407,9.5066,-1.2932,14.6293 +"369","Wenning Xiao",19:00:02,-1.67237623762376,10.2381188118812,-1.12475247524752,15.519801980198 +"370","Wenning Xiao",19:00:03,-1.6243,8.8271,-1.2684,12.9004 +"371","Wenning Xiao",19:00:04,-1.00594059405941,8.89584158415842,-2.60811881188119,9.92584158415842 +"372","Wenning Xiao",19:00:05,-2.0836,10.2901,-0.8356,10.8341 +"373","Wenning Xiao",19:00:06,-1.41693069306931,9.39049504950495,-0.918118811881188,15.6025742574257 +"374","Wenning Xiao",19:00:07,-1.4323,9.3681,-0.8146,15.6545 +"375","Wenning Xiao",19:00:08,-1.84178217821782,9.03257425742574,-0.662871287128713,10.8259405940594 +"376","Wenning Xiao",19:00:09,-1.2983,7.8773,-0.6428,12.1393 +"377","Wenning Xiao",19:00:10,-2.30864583333333,10.78,-1.63677083333333,16.9819791666667 +"378","Wenning Xiao",19:00:11,-1.5519,9.9734,-1.2898,16.5653 +"379","Wenning Xiao",19:00:12,-2.18336633663366,10.9043564356436,-1.5449504950495,15.2973267326733 +"380","Wenning Xiao",19:00:13,-1.32633663366337,8.32722772277228,-1.01415841584158,14.3105940594059 +"381","Wenning Xiao",19:00:14,-1.2088,6.8627,-0.9081,13.4914 +"382","Wenning Xiao",19:00:15,-1.98277227722772,10.3142574257426,-1.7470297029703,16.8640594059406 +"383","Wenning Xiao",19:00:16,-1.8813,10.1529,-1.6097,16.3835 +"384","Wenning Xiao",19:00:17,-1.7349504950495,10.5225742574257,-1.56653465346535,15.7234653465347 +"385","Wenning Xiao",19:00:18,-1.7036,9.6739,-1.8514,15.6914 +"386","Wenning Xiao",19:00:19,-0.826633663366337,6.58772277227723,-0.778118811881188,12.7238613861386 +"387","Wenning Xiao",19:00:20,-1.8144,9.1031,-1.4288,15.7614 +"388","Wenning Xiao",19:00:21,-2.02049504950495,10.2966336633663,-2.06415841584158,15.6565346534653 +"389","Wenning Xiao",19:00:22,-1.9108,9.906,-1.7663,16.7486 +"390","Wenning Xiao",19:00:23,-1.6929702970297,10.4152475247525,-1.58831683168317,16.1786138613861 +"391","Wenning Xiao",19:00:24,-1.97861386138614,9.67336633663366,-2.1509900990099,15.169702970297 +"392","Wenning Xiao",19:00:25,-0.6503,6.0165,-0.6834,12.736 +"393","Wenning Xiao",19:00:26,-1.77009900990099,9.51821782178218,-1.65990099009901,15.7679207920792 +"394","Wenning Xiao",19:00:27,-2.0559,10.5602,-2.234,15.5041 +"395","Wenning Xiao",19:00:28,-1.56712871287129,9.54188118811881,-1.96653465346535,15.720099009901 +"396","Wenning Xiao",19:00:29,-2.0182,10.9669,-1.7186,15.7411 +"397","Wenning Xiao",19:00:30,-1.28643564356436,8.65059405940594,-1.59425742574257,14.499801980198 +"398","Wenning Xiao",19:00:31,-0.9749,6.7501,-0.8272,12.9804 +"399","Wenning Xiao",19:00:32,-1.54712871287129,9.2209900990099,-1.67435643564356,15.3463366336634 +"400","Wenning Xiao",19:00:33,-2.0136,10.3904,-2.015,16.9599 +"401","Wenning Xiao",19:00:34,-2.06534653465347,9.53514851485149,-2.18108910891089,16.260396039604 +"402","Wenning Xiao",19:00:35,-1.8231,10.5984,-1.585,15.4852 +"403","Wenning Xiao",19:00:36,-1.96881188118812,9.82118811881188,-1.9560396039604,15.1763366336634 +"404","Wenning Xiao",19:00:37,-1.3409900990099,8.60049504950495,-1.35128712871287,14.97 +"405","Wenning Xiao",19:00:38,-0.8453,6.7862,-0.9442,13.2079 +"406","Wenning Xiao",19:00:39,-1.77435643564356,9.66,-1.57257425742574,15.1547524752475 +"407","Wenning Xiao",19:00:40,-2.1056,10.3015,-1.9067,15.7159 +"408","Wenning Xiao",19:00:41,-1.56118811881188,9.45831683168317,-1.72158415841584,16.1277227722772 +"409","Wenning Xiao",19:00:42,-1.8065,10.2518,-1.595,15.842 +"410","Wenning Xiao",19:00:43,-2.02207920792079,10.1247524752475,-2.25683168316832,15.0576237623762 +"411","Wenning Xiao",19:00:44,-1.5366,8.8397,-1.7801,14.8865 +"412","Wenning Xiao",19:00:45,-1.1629702970297,8.82207920792079,-1.22277227722772,14.0222772277228 +"413","Wenning Xiao",19:00:46,-1.1862,7.274,-1.2993,12.5687 +"414","Wenning Xiao",19:00:47,-1.56138613861386,9.16168316831683,-1.57861386138614,14.6529702970297 +"415","Wenning Xiao",19:00:48,-1.9469,10.129,-2.1692,15.4598 +"416","Wenning Xiao",19:00:49,-1.58594059405941,9.81118811881188,-1.93920792079208,15.4361386138614 +"417","Wenning Xiao",19:00:50,-1.41465346534653,9.59910891089109,-1.78722772277228,15.0793069306931 +"418","Wenning Xiao",19:00:51,-1.4794,10.3504,-1.5497,15.0667 +"419","Wenning Xiao",19:00:52,-1.82138613861386,10.0440594059406,-2.13356435643564,14.720198019802 +"420","Wenning Xiao",19:00:53,-1.312,8.5987,-1.4518,14.3564 +"421","Wenning Xiao",19:00:54,-1.20613861386139,8.19881188118812,-0.775445544554455,13.4526732673267 +"422","Wenning Xiao",19:00:55,-1.471,7.8923,-1.5415,13.1588 +"423","Wenning Xiao",19:00:56,-2.22455445544554,11.3625742574257,-1.55059405940594,13.5432673267327 +"424","Wenning Xiao",19:00:57,-0.8676,9.3312,-1.7171,10.0305 +"425","Wenning Xiao",19:00:58,-1.87623762376238,10.3914851485149,-0.173168316831683,11.6090099009901 +"426","Wenning Xiao",19:00:59,-1.8141,9.7721,-1.7531,16.5451 +"427","Wenning Xiao",19:01:00,2.20666666666667,-7.33,-1.38,9.205 +"428","Xiyun Zhang",19:00:00,3.7883732,-8.50422,0.4318589,9.7566 +"429","Xiyun Zhang",19:00:01,5.04246383838384,-9.155,-2.44029494949495,15.49 +"430","Xiyun Zhang",19:00:02,3.52386,-7.241809,-0.915422,13.0178 +"431","Xiyun Zhang",19:00:03,3.413998,-8.34013,-1.000287,13.0253 +"432","Xiyun Zhang",19:00:04,-0.567983838383838,-10.7962525252525,-2.18277878787879,14.0611111111111 +"433","Xiyun Zhang",19:00:05,-1.529209,-9.10563,-1.1785374,13.04902 +"434","Xiyun Zhang",19:00:06,-1.33306262626263,-8.77668282828283,-1.25963434343434,12.6942424242424 +"435","Xiyun Zhang",19:00:07,-1.123122,-10.78925,-1.537526,13.6208 +"436","Xiyun Zhang",19:00:08,-1.098999,-9.698699,-1.006,13.6245 +"437","Xiyun Zhang",19:00:09,-1.55900262626263,-7.8669797979798,-0.771640404040404,11.365505050505 +"438","Xiyun Zhang",19:00:10,-1.21598,-11.3110484210526,-1.57635157894737,14.2095789473684 +"439","Xiyun Zhang",19:00:11,-1.352444,-9.29203,-0.938568,12.9729 +"440","Xiyun Zhang",19:00:12,-1.27969,-8.386867,-1.106492,12.6865 +"441","Xiyun Zhang",19:00:13,-1.1380202020202,-10.9121919191919,-1.41968888888889,13.9896565656566 +"442","Xiyun Zhang",19:00:14,-1.286862,-9.565863,-1.279638,13.00453 +"443","Xiyun Zhang",19:00:15,-1.1562185,-8.88475,-1.456762,12.4283 +"444","Xiyun Zhang",19:00:16,-1.32435555555556,-10.9605171717172,-1.54791848484848,13.9491919191919 +"445","Xiyun Zhang",19:00:17,-1.2246,-7.47222,-1.006476,11.6878 +"446","Xiyun Zhang",19:00:18,-1.2260797979798,-11.7242222222222,-1.85857373737374,14.4367878787879 +"447","Xiyun Zhang",19:00:19,-1.36229,-7.590701,-0.87872,10.66811 +"448","Xiyun Zhang",19:00:20,-1.17101,-10.60494,-1.785265,14.4767 +"449","Xiyun Zhang",19:00:21,-1.57149090909091,-9.75436565656566,-1.10807676767677,13.5917171717172 +"450","Xiyun Zhang",19:00:22,-1.16072,-8.845256,-1.16614,12.3528 +"451","Xiyun Zhang",19:00:23,-0.898753,-10.17819,-1.054129,12.26157 +"452","Xiyun Zhang",19:00:24,-1.08447070707071,-10.4249090909091,-1.95196565656566,12.1631313131313 +"453","Xiyun Zhang",19:00:25,-1.560894,-7.6222523,-0.46888,12.0695 +"454","Xiyun Zhang",19:00:26,-1.31244646464646,-11.2653545454545,-2.11111111111111,14.0351818181818 +"455","Xiyun Zhang",19:00:27,-0.9954072,-8.07681,-1.089474,11.4781 +"456","Xiyun Zhang",19:00:28,-1.00747,-10.770593,-0.9892604,13.49711 +"457","Xiyun Zhang",19:00:29,-1.01613333333333,-9.29760606060606,-1.60482727272727,12.8047575757576 +"458","Xiyun Zhang",19:00:30,-1.153345,-9.4676,-1.5705974,12.9276 +"459","Xiyun Zhang",19:00:31,-0.9457123,-9.8905,-1.9371941,13.0189 +"460","Xiyun Zhang",19:00:32,-1.30177171717172,-7.88614242424242,-1.07863636363636,11.6052525252525 +"461","Xiyun Zhang",19:00:33,-0.896915,-11.90428,-1.634564,14.8601 +"462","Xiyun Zhang",19:00:34,-1.10629919191919,-8.38724444444444,-1.45348282828283,11.6146464646465 +"463","Xiyun Zhang",19:00:35,-1.365884,-9.07946,-1.136998,12.206 +"464","Xiyun Zhang",19:00:36,-0.825089,-11.074498,-2.0986,14.0647 +"465","Xiyun Zhang",19:00:37,-0.787288282828283,-8.3240202020202,-1.55488888888889,11.6292929292929 +"466","Xiyun Zhang",19:00:38,-1.236376,-9.531981,-1.473197,12.9173 +"467","Xiyun Zhang",19:00:39,-0.711319,-10.95141,-1.8961942,14.222 +"468","Xiyun Zhang",19:00:40,-0.92759696969697,-7.79486868686869,-0.89938101010101,11.7270707070707 +"469","Xiyun Zhang",19:00:41,-1.287816,-10.650667,-1.668253,14.0531 +"470","Xiyun Zhang",19:00:42,-0.764402222222222,-9.80687878787879,-2.93047474747475,13.689797979798 +"471","Xiyun Zhang",19:00:43,-0.87206251,-8.394372,-1.633501,12.3669 +"472","Xiyun Zhang",19:00:44,-0.93519,-8.59569,-1.4972414,12.0181 +"473","Xiyun Zhang",19:00:45,-0.873366666666667,-11.1714444444444,-1.95185252525253,14.6507070707071 +"474","Xiyun Zhang",19:00:46,-0.9543398,-10.107971,-2.471442,14.5045 +"475","Xiyun Zhang",19:00:47,-1.06937,-8.530846,-1.186068,11.6835 +"476","Xiyun Zhang",19:00:48,-1.09379090909091,-8.6699595959596,-1.14238181818182,11.9225252525253 +"477","Xiyun Zhang",19:00:49,-0.7501283,-11.06716,-2.978895,13.696 +"478","Xiyun Zhang",19:00:50,-0.82139,-9.633604,-1.85788,12.1961 +"479","Xiyun Zhang",19:00:51,-1.13351717171717,-8.02644545454545,-1.56125858585859,12.3987878787879 +"480","Xiyun Zhang",19:00:52,-0.868527,-8.88329,-1.455712,12.0734 +"481","Xiyun Zhang",19:00:53,-1.42377575757576,-11.2632323232323,-2.1724398989899,14.2243434343434 +"482","Xiyun Zhang",19:00:54,-0.97202,-10.013465,-2.126145,13.008 +"483","Xiyun Zhang",19:00:55,-0.830193,-8.727466,-1.98422,13.0555 +"484","Xiyun Zhang",19:00:56,-0.982321212121212,-8.91109090909091,-1.30930707070707,13.0428282828283 +"485","Xiyun Zhang",19:00:57,-0.764036,-9.18005,-2.169951,13.2456 +"486","Xiyun Zhang",19:00:58,-0.749474,-9.08357,-1.833025,12.3178 +"487","Xiyun Zhang",19:00:59,-0.863114141414141,-10.6258262626263,-2.27665656565657,13.6908080808081 +"488","Xiyun Zhang",19:01:00,-5.236,-20.18,-6.854,22.08 +"489","Yifei Zhang",19:00:00,-5.28745346534653,-6.44417821782178,-1.95370396039604,10.7581188118812 +"490","Yifei Zhang",19:00:01,0.860235,-10.85988,-3.49297102,13.63874 +"491","Yifei Zhang",19:00:02,-0.4641498,-7.2952508,-2.2326402,13.57896 +"492","Yifei Zhang",19:00:03,1.76037920792079,-10.7072475247525,-3.99195544554455,16.7489405940594 +"493","Yifei Zhang",19:00:04,0.704209,-7.276487,-3.080009,13.71125 +"494","Yifei Zhang",19:00:05,3.08335841584158,-10.9073257425743,-3.515,17.3895643564356 +"495","Yifei Zhang",19:00:06,0.166203,-6.65739,-2.757044,13.38107 +"496","Yifei Zhang",19:00:07,3.528214,-11.56602,-2.153234,15.46227 +"497","Yifei Zhang",19:00:08,1.63835346534653,-6.90202376237624,-1.55874148514851,11.4066534653465 +"498","Yifei Zhang",19:00:09,0.630269,-11.661498,-2.864837,17.08312 +"499","Yifei Zhang",19:00:10,-0.799616666666667,-6.73513229166667,-2.35602291666667,12.8690104166667 +"500","Yifei Zhang",19:00:11,0.155385841584158,-11.2476759405941,-2.76835247524752,16.2975445544554 +"501","Yifei Zhang",19:00:12,-0.084261,-9.42524,-1.2142891,15.31071 +"502","Yifei Zhang",19:00:13,-0.562852,-8.238072,-3.757551,14.28754 +"503","Yifei Zhang",19:00:14,0.74879900990099,-10.1160405940594,-4.08371386138614,16.0071584158416 +"504","Yifei Zhang",19:00:15,-0.38002,-7.005946,-1.7468,11.8146 +"505","Yifei Zhang",19:00:16,-0.705015841584158,-11.2784059405941,-4.3495702970297,15.3057524752475 +"506","Yifei Zhang",19:00:17,0.3915016,-6.225015,-3.98714,13.07268 +"507","Yifei Zhang",19:00:18,-0.866328712871287,-10.5377881188119,-4.00682128712871,16.5380198019802 +"508","Yifei Zhang",19:00:19,-0.280512,-6.544424,-3.00142,11.9224 +"509","Yifei Zhang",19:00:20,-0.484654,-11.28743,-4.3466827,16.01598 +"510","Yifei Zhang",19:00:21,-1.0968603960396,-7.24359188118812,-2.59313663366337,12.1729702970297 +"511","Yifei Zhang",19:00:22,-0.970513,-10.649442,-4.3000234,15.686 +"512","Yifei Zhang",19:00:23,-0.776934653465347,-8.31629702970297,-4.26425544554455,15.4238613861386 +"513","Yifei Zhang",19:00:24,-0.045742,-9.704822,-4.030701,14.9175 +"514","Yifei Zhang",19:00:25,-0.294885247524752,-6.94463366336634,-2.32917128712871,13.4083465346535 +"515","Yifei Zhang",19:00:26,-0.4444426,-10.55158,-6.5204378,19.0385 +"516","Yifei Zhang",19:00:27,0.951592,-5.835877,-3.4614198,14.00264 +"517","Yifei Zhang",19:00:28,-0.465005940594059,-11.3929881188119,-5.33240495049505,17.7634455445545 +"518","Yifei Zhang",19:00:29,-1.866814,-6.36704,-3.12568,14.96088 +"519","Yifei Zhang",19:00:30,0.253080198019802,-10.9975534653465,-5.45395049504951,16.7160792079208 +"520","Yifei Zhang",19:00:31,0.0899497,-6.82818,-2.171996,13.35308 +"521","Yifei Zhang",19:00:32,0.498696,-9.26592,-4.189038,15.2486 +"522","Yifei Zhang",19:00:33,-1.93846732673267,-9.70277623762376,-4.39089207920792,17.0853663366337 +"523","Yifei Zhang",19:00:34,-0.234564,-7.633747,-1.5250546,13.43849 +"524","Yifei Zhang",19:00:35,-1.56126396039604,-10.2428287128713,-1.13197811881188,17.1566138613861 +"525","Yifei Zhang",19:00:36,0.0763336,-9.1060728,-5.183817,18.21061 +"526","Yifei Zhang",19:00:37,-0.969609900990099,-7.51056435643564,-2.57926138613861,14.5156435643564 +"527","Yifei Zhang",19:00:38,-0.2333484,-11.3274077,-3.238751,17.92909 +"528","Yifei Zhang",19:00:39,-1.941378,-6.200436,-2.20229,14.19857 +"529","Yifei Zhang",19:00:40,0.3535,-11.2660297029703,-4.7150198019802,18.6207920792079 +"530","Yifei Zhang",19:00:41,-0.303196,-7.8992071,-2.5914884,13.19841 +"531","Yifei Zhang",19:00:42,-0.935660396039604,-6.91825742574257,-0.951845544554455,14.0727128712871 +"532","Yifei Zhang",19:00:43,-1.4961471,-11.94463,-1.8774285,17.00163 +"533","Yifei Zhang",19:00:44,-0.993919801980198,-6.5909198019802,-1.34604752475248,14.5929603960396 +"534","Yifei Zhang",19:00:45,-0.903499,-7.807754,-3.55046701,13.54366 +"535","Yifei Zhang",19:00:46,-1.569033,-12.365669,-2.50682,19.23975 +"536","Yifei Zhang",19:00:47,-1.43171643564356,-7.65289306930693,-1.22098118811881,13.9328712871287 +"537","Yifei Zhang",19:00:48,-0.31388,-8.648352,-1.17791,16.02132 +"538","Yifei Zhang",19:00:49,-1.85184752475248,-9.03425544554455,-3.16579108910891,15.3352376237624 +"539","Yifei Zhang",19:00:50,-1.4389662,-7.280415,-1.140979,14.68952 +"540","Yifei Zhang",19:00:51,0.149238613861386,-9.76421782178218,-2.53062574257426,16.479099009901 +"541","Yifei Zhang",19:00:52,-1.7560842,-9.67454,-3.530073,17.34506 +"542","Yifei Zhang",19:00:53,-1.591129,-6.851311,-1.893238,15.2865 +"543","Yifei Zhang",19:00:54,-1.16568445544554,-8.00173861386139,-1.70047544554455,13.320495049505 +"544","Yifei Zhang",19:00:55,-1.390209,-12.037345,-0.991186,17.75659 +"545","Yifei Zhang",19:00:56,-1.06844554455446,-8.30821683168317,-1.07310594059406,13.8331386138614 +"546","Yifei Zhang",19:00:57,-1.4023386,-8.91228,-2.050054,14.23182 +"547","Yifei Zhang",19:00:58,-1.38795584158416,-7.58660495049505,-3.33188415841584,14.269 +"548","Yifei Zhang",19:00:59,-1.24143,-9.9605,-0.51956649,10.4898 +"549","Yifei Zhang",19:01:00,0.5214,-10.38,-0.2538,10.38 diff --git a/Group assign-conclusion.docx b/Group assign-conclusion.docx new file mode 100644 index 0000000000000000000000000000000000000000..479311d732bf69b5fe7bfe3e17e51a4e454b262c GIT binary patch literal 77114 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 cUJw2BP}bwf@*O zm4r#HD8@Ah#*QW@#J1^eEM8Lmme_wD&KGpmLx+*w*zLY;z-{tt+tJN46*=;JO0*0^ zSHvd@m-1}X;lo^( z?`owKV>$tdln!lAsqX~&*Yn$l>+KQ08!5MmVEZ#pJ==u#%YrS6~mE1*qefOiGVOcWhLZ%$87s@Ftgj{ z?F`xNSU~i=4hLQrU}^rZD2|C4CRs=Ttb((wW#9dw`)hctAoK2d#lTarSCG1{8&I$yDw( zD>)~N#WJcltr5Bbn}4boLj#_PFo_T0xWiFEqV_H;x;HBblsW_k3RwAmp0Wd5=IHSI zI_N)?UW0D=wgaVM+uMFnXj0mF<=JMIXEbplOwOHfV&-J^`sJTv!~@1I&fWOfQuUfI zaSEobAha@MWnUf1ruFtp8U-nXm;EA-11^KbDel`gAp*jci(XgH2LZ(6gHi{ZAN- zlg9UH!3Xu${I`KExZ^?M&R-2+$^?H~wB7#lcexeBx^lR>oKB72$VHQ}yQgn7aFYhC zxxSe2&hcP9&caevIpP{PI>T7E|AW?K1w~`z;wqju>i_TrXth`Nm^fw5&>K@QSA5-+8Obi zfumU0Rd8Xdbphi{%dHqwxv|e_td8fZJTHabVb(R$ zBY|kkmq)CXTl)fhk?tLJLCw%Ob=@`rHmWb8td9T2o4!;O`Va zG6x{zb8W#d`uckht8#1Y1PGs>CF~Ybq7G%ux@T4VqfDV>`2|pjf*+E*2dn)%G^G#) zw4QMgheZf;t=hOnG~kWa&^a;b_-oDkkn9?i90e7POg+cqGJAe<(oDE_`$Trw5YjeV zOzb2!-Q%ryFU5)TUX4Os&fI+~MT=;_xGn=85&esc2Jk*gQPl2!g&=Z8?_M1=xN%}_ zu02i@-QZ{Qs>7({DBJ*^ze9VwJ>#O2H&6A8&a3F#ekSTW>#YZls%noj|00FKIjpYw z^85ulQWM2;?&5cdGrIrSmN5E`OK&C@$CjtqWDsbx6J7$7TRFj7bzPxtPAh|DaUEIN z=Ubi$yGq7%t+d_=Tb})FBNDk--CVxO{LL-sgP}0V|LR`2pp2N6WBMr%{y8lX&~sR} zcNb;L*9$I zGc=`n8!;SOnZoPaqaVB(JkZOa6E(^3^hX8P<&WX%l6qc8K5x5%!^^_jCDexte?rc zE}dt!T#Ye1YTDiGgpl69dNatqd}r(oFdQgpedH$cMNg<~j;xICEX|vJC~DG^VinCB zhNzS5Uy^Kmeqf@!Df|OHWj?d>U6Z^7T2Q62ps`BBVHf|<*xx(}A$u0+i#4h@FOlm$ zs??1vF5XHn{5S0^n1GC|gbv?TRQgF&W!ezK#hYjB2{)`rXJO_0Lfj#Cha-iR9n8zv z(7rt2h?@HP9yQkh-QTg&>=l!eTTWVs z8l#`;jYz-a2X)nuaaF=!t9{6aIwp`0UgU4VxmP9tV`nX z-HR<}oMcB2>7fv$!yId5U>El+ZYo-H?fk~EhsD3{6&V2{q5v}4qg!epxF`OkG-tO^ zNl58$y>#LMe|OsjjEDNo@rKTxG>VIepVDmhGQBXE687BcZp(K~C{9yloL3uNU7qp% zTld$)Vo8DD_8f1B&N}r}EWV#BepW>OI|_&%q%^z33BGdx>Jg2}7x*6@W)I~w<>)2S zr#B@3Vq4hWHek#|au=sGLb6MaW-exEB+XC`tm9WDztkYR$wf^nC!9!L`899XY|u&9-(27F~@qXWOeYcIy!`B2pt9%pUXA68E zg$Xf$2S<$<(rLx(C-Ji^RvaqtSf?YQjww-;XVoXDqZdh8C!_l)YuiCx-{$x>U-0V`m5;!~J8ub*Q8~wQ#@nah201Jo#d4)qdb$Rfjis$5sB^P~>CY2bM_0 zw4zIr@-i@W#@nr3sP~YO66IvA4Ke(9qbIIUb%18ct8FYaJM^#m_HADvU6ex$NKY~MdO-P;VLi8O zep2h`0@TP?(IxyX0=csMagwz^qQ6-X&G9qg-cCCRh9(q15jEdEkGa4#t00U3p^zym zh(EIn;1;1+un4S~os^_g1wT;+63vZ#u2Z4V$QjK58k7%WOrV)~T2Td@QDpNI4(s;C z5HCmGa@E8;NJ2maaZ1d{YyLj5>3!pSo?bW=8Q57&)=GeJmaG@kS~O|!3OO|+RFfFT zeA(PAH0a!Ven|Zs$mwazr|We|aI%CU}<$!5S~XW#9i1&>QJ{$jz1aie>EE~jc0N`b|{d|1p71C8JZ zRF&tkJLlfyKv`TuH`M%;WW|rCoy_bxYeYby@6)u#>qqvEcA~R5F%2d%8%fROYRAJb zbXs*oEhKeybsAD^tB#V6m!x5N0bVFByy$L9?7yf^BeQc2*)Xb`h9kw62s7-faNl#)(la*zN3qJ1eicM(R=!>!B@DWxhe&>SgF9=Vd4OXl44H$e!jCy z9Ba+T0sH#+92UAZKx4(XIe5g=8PuQuz3lz|Jrq0`(Ll--afZyDH`5zSse_HqH!*>W z;8TC4(Yzy1k`f53 zAtL9S8U9mGSAfzp7L=B88H z`|aYw^{$}P_*jQm{Fbcc7%fMNj_Y{rzQI>S-(j4KG!%^++B~usVmy3 zVBVR0Q$>enFUh!fZ84xl9&hXPhs$O2@9Bg#<(zz^C48iC{03h#UPM zJbxpzCXm^olOl~HZvtR^9-CLgo|6UA)jo@|CCY8b5N3{T0R}>q3o<(jDFuGdF<~nc zSt%DNX{@qQm64|oQJ^a%`D_%OeSuJ+D_=FK!_PdpkELMZVt}-(Lk|K}K&EcXONvmh zt~~vW+UOVH4-hdj=d>-&)i!@=|HH;eX{jH_-bES5V%DS_`K<<-CO~|0`vPHbhAG(2=vHRjEHM z$hI$MAtTHKMPqtUMZ4_pka+7}bTnQ=BBCUhX=#~m)7a7?4u#rh98DNDgtq(mlZMgptaqLf{OgZ}t1DVg1NlL$bB#dqLLyb| zjQ-l?pVcm_)=h?{@4XZ|2kQnyHhc3nrDiFZ`#M4W@VB(@+IyCKP5_a&-N-!p8RGf%5bqB<& z!S?5?jo@;gyoQwF*M!^1C}cDTuv#xf7E`( zXxf(vM_yKrd;)?Q7gDAP7|(K=u`G?lDd;2A89vh@ZBHY#YdEiKxs+Y1Lb1r~5#P7# zZ6S3&VW4_l?Q0~+)t3L0GY3g)IKvF)GpouJi#q6wvZ$(s4f<9v@5@=&gHxpblN^Qmq_>5mo$t&D3i|cG zvul|l;YLO__y=9-Dfy6;&F5EpHT_Q0d^dhjFQVM3t;+r(NtimIZOtckY%_KxR6Qed z!VJTPW5qNyEzGf_N0_})tWa@9%Va<_?4mEaj<^}r*w1Zr)fHWjVsbWlA(S-bLqt-v zoE;l_CAqG%C=o44Jta?cqu&o8Cs;NZzQ9R@n~Dp0vLY((H zSa0k0<=o(uO;RzO(|HUmsqJjFTAwNDXl;qkbkbh76r918H%jjc!j`I1-4O^K`U}_JTo3IQAqQ zNKwVJ7IQhoxyr3T85zN#5BK*sTS#)_v2b+XmnGgCx#hK{P`P}oAb@=QP^C8QP^$`j zLBG9kZ5DuW(2cjfCLh|n{Ash~$Szp$153_k)cA`o+bjUvG;jr8Q&Zg_WEK>EIu$r<0F`&Yl zGIo_Q#1yO{SO{tG0 zNFI=87$#$W8z}3pg1!>P5THRZARXv?FA3fX2bOPCOH)?n{-90VL{I(+SKk!fjNZybD(^w$n-;q65+2ev%j6Zhg28Hk1`rUJZ52ZQo$@(C>Ux$gyk#1 zb|(1>w3;t&Rb`8QG5gw(gStQq)KvOyU3}=joX)d?ZIVVQ>_BmzB{4Zm!8K<9LpQq~ z?uqyAGpOeR4rtv**=87+Ls|(urlrh0zVebn6m~B8;}MdlAk6bwlKsTLjM?rW4pfuL z0#__TX|#n%@N4%JEid6h12TqEywm2)Mq)DQ;+(WaJC5JBg9=*STRT~^nY4H5m{Z#0uQ1Sp=Qg7-5iHhh3Uk)@=UM%|d*v+rg0 z#Oy~ldz4~Q94O&F9q`Dojl0Yr-@?C&L4B#zS!&klDB1zMRLR~v1{Y=F+llD+ec*N zP5?Ej7r9}}gGh>@32G^Z1oTNhyl)p9Tg?lah*Pgv;)7IZQQW3L1s=K*1>(`x6hp7q zO}0HztB!=hL^f|`Ns5}Xl?=S%rRc)Wb?M53RZJYAJy|mJ6&2&OrM+w@1 zT);`VCFlV=(`>EEfm6--AW)9Ub{Hmk>^N9{;>3uVXW0NB_a>Kn`&e|E{7oTBjJ0e* z1z3ejA{J|m@ERzZ_;R{Yo+{!OhlX5dpAz?e&UOu9kC~m42F62HBm)ikT$f@Nwfs|z z$_PH&ZNeiLbZaCkHr$_$iEe~eU+Mp?Q73r(SAC040R;J50!dHs^u)O7lfdWCN*lK9 zdLCdWj&%D(z~q`OB|8F{mnk=j<_`i&L3CeCW#D?LtK?BM>a-SH%wdeC6nL&*hsT6M zl}wDVgRU`A)VE6WL7bj1GXV4!;9jd8ApRv^nU>cdVj&08Tz7dPzW(SwFhzIl2#=~U zGw#;qcfO$NkETI?6Ksel;dez~Bq1SRAC(lsAS-tM(Y0Zpa%qM@W@^lu)?+`KW3mea zZ_V09_zJ?5T@-(mzj6A%(?J|8ay^7-U&wkq`tau9qT7}P#)~uH!`SoEnBUbDGuvUf5O{@t#<+ZNPLXl)6e?K2n*j4cSK9W}C&^6+wB zpT7W1Ul`^r?O!rdtG{ciz|skLFG?jtZ|lTA?N8OT6KxDY?13*~cy`H?f;JW|nra#iYrm(M9dnS*4(QO9x<-Yi3gQ9w$v+<>a>HR{Qq)e1xBp7}b9h z;Mvw$@`wB_c*ciKpdf&{s+HqDt4Af4#G9e>+odePy{JQvY|cUIEX>T!kH~`vn_XbfXW)EUU!FbNITu5^<*E? z*rxZBh1|X@9qCc{vUWH)^|BjrZ`*P&fNvtkG)=&gN-=F{pHBZhOL3EhmBDvQf<3D$ z@%VbSVw%Lj1ab#=&+DPl?u2SA{x5d+vecRYgEaueN1m62CKmO0hax1%-N=rZw1oJT>elTXDR@ z&2ZU|d&Fw?QX|Y0^Ew>9FCK)}UxL9aE^$k#Rob)yOjW36Cu#`j6UwA1PTilJvHSwn zSQ~a?gdTPi>(!urM$yAF^Sn>RW+196Nfg^bZyg1E4#6+FNHm*}JfpBrvnP<4y^K28 z(cQy~oJe$!B?;vIdcZfcI_gBW%0A;6IsY`hWXkns{>{BePgFT|^3*8Xh|~Ge<^4IQ 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.5){ + DF$avg_z[i] = DF$avg_z[i]-8 + } +} +DF$avg_y = abs(DF$avg_y) +DF = DF[,-1] +DF$Participant[DF$Participant=="Vidya Madhaban"] = "Vidya Madhavan" +DF = mutate(DF,gender = 1, height = 1, weight = 1, fitness = 1, favor = 1, prior = 1, illness = 1, happyness = 1, time_interval = 1, last_meal = 1, num_jumps = 1) +names(DF)[1] = "name" +``` +Since there were some negative values in the initial clean data, the plots seemingly to be inefficient to produce any visualization at this point. Therefore, we decided to use the absolute value of these negtive ones to plot new diagrams. + +```{r} +plot(DF$avg_x) +plot(DF$avg_y) +plot(DF$avg_z) +``` +It turns out that the plot of y variable to be much more efficient after using the absolute value. +Based on the plots, we can tell that most of our data tend to be together with some outliers. + + +```{r} +survey = read.csv("Jump Rope Research.csv") +survey1 = select(survey, name = Q1, gender = Q2, height = Q3, weight = Q4, fitness = Q5, favor = Q6, prior = Q7, illness = Q8, happyness = Q9, time_interval = Q10, last_meal = Q11, num_jumps = Q12) +survey1 = survey1[-c(1,2),] +``` + +```{r} +colname = colnames(DF) +colname = colname[-c(1:6)] +for(j in colname){ + for(i in 1:nrow(DF)){ + DF[[j]][i] = survey1[[j]][survey1$name == DF$name[i]] + } +} +colname = c(7,10:16) +for(i in colname){DF[,i] = as.factor(DF[,i])} +colname1 = c(8,9,17) +for(i in colname1){DF[,i] = as.numeric(DF[,i])} +``` + + +In the following plots, we would see how each variable in our survey related to the data we got from the app during the activity. + +1: Jump Height and Personal Height +Since y stands for the vertical position of where we put our phone, we assumed that taller people would place their phone higher than those petite ones. +We are, thereofre, interested to see whether taller people tend to jump higher or not. +```{r} +plot(DF$avg_y~DF$height) +``` +Based on what the graph, we can see that there are no clear evidence that these is any relationship between these two variables. + +2: Jump Height and Number of Jumps +Next, we would want to see any correlation between y variable and number of jumps. In other words, if a person jump higher, would he/she tend to jump fewer jumps since it might take more energy to do a higher jump. +```{r} +plot(DF$avg_y~DF$num_jumps) +``` +The plot we got shows that there is no clear relationship between number of jumps and jumping high. It might also indicate that in a short time frame, people tend to jump in a consistent way. Since we only measured in 1-minute, your body would not quickly get tired or exhausted even if you jump higher than normal. + + +3: Acceleration and Fitness Level +Thirdly, we would like to see if fitness level have some effects on acceleration: do people have a higher level of fitness would have a higher value of acceleration during the activity. +```{r} +plot(DF$abs_acceleration~DF$fitness) +``` +The barplot shows that: for those who self reported fitness level at 2 which means a fair level has a mean of acceleration slightly higher than those reported fitness level at 3 which means a good level of fitness. +According to K-mean and PCA, an lower acceleration indicates better in jumping rope, we can tell that the plot proves it. +Though the mean values give a suprising result that people who have better fitness level have lower acceleration, the group with level 3 fitness has a much higher range of acceleration comparing to the other group. +Overall, we can conclude that fitness has some influence on acceleration that people who have higher fitness level would have higher value of acceleration. +In addition, there are some outliers in the barplot which might because that most people choose a moderate answer in the survey question: 2 and 3 which caused some bias. + + +4: Acceleration and Illness Level +We assume that people have lower illness level would have higher acceleration. +```{r} +plot(DF$abs_acceleration~DF$illness) +``` +The barplot shows that people who reported has a moderate illness level at 3 has a much lower acceleration than those who reported little or some illness. The plot proves our assumption that illness level would effect acceleration. +However, we can also see that people who reported little illness 1 effect have a slightly lower mean than those who reported has some illness 2. But level 1 has a much higher range than level 2. +There are also some outliers shows. In level 1, the outliers are those have slower acceleration than most of the others, this might due to some other factors that effect their acceleration during the activity such as fitness level which we just concluded above. +In level 2, the outliers are mainly above the range, this might because of that the illness are not those would directly effect them from doing such activity. Another reason might because they have higher level of fitness that has positive relationship between acceleration. + + + +5: Acceleration and Mood +In this plot, we are interested in whether the happiness level before you jumping the rope would effect your acceleration. In other words, would people with higher happiness level tend to jump quicker? +```{r} +plot(DF$abs_acceleration~DF$happyness) +``` +It is really interested to see how our mood would effect us when doing an activity. Accordign to the plot, we can see a upward treading that higher happiness level have a lower mean value of acceleration. (Higher number indicates higher level sadness.) +Level 3 which is a moderate level of happiness has the highest range in this barplot. It might because of the fitness and illness level that cause this happens but it might also because happiness or mood is hard to define on scale, therefore, most people would choose a moderate answer for this question. + + +```{r} +DF1 = select(DF, abs_acceleration,avg_y,avg_x,avg_z) +reg = lm(abs_acceleration~., DF1) +summary(reg) +``` +x has a p-value of 2.76e-10 and y has a p-value smaller than 2e-16. Both of these two variables conclude to be significant since their p-value are smaller than 0.05. +The regression model indicates that the x variable which indicates back and forth, and y variable which indicates up and down, are the two significant variables with our response variable: acceleration. + +```{r} +DF = mutate(DF, time = rep(0:60,9)) +``` + +```{r} +library(ggplot2) +ggplot(DF, aes(time, avg_z, colour = name)) + geom_line() + xlab("time") +``` + + +```{r} +pairs(DF1) +``` +In this plot, we will mainly focused on the regression between acceleration and xyz variables to see whether there is any relationship between acceleration and the predictor variables. +From the plot, we can see that it is hardly to tell if there is any relationship between acceleration and the xyz variables that all the plots are in a cloud shape. + +```{r} +cor(DF1) +``` +The absolute value of correlation between acceleration and y is: 0.43044889 which stands for a moderate correlation. +The absolute value of correlation between acceleration and x is: 0.26456843 which shows a relatively weak correlation. +The absolute value of correlation between acceleration and z is: 0.009613775 which means that there is weak or no correlation between these two variables. + + +Checking Normality and Constant Variance based on plots +```{r} +reg1 = lm(abs_acceleration~.,DF1) +plot(reg1) +``` +The first scatterplot of Residuals vs. Fitted values shows a cluster in the center. The plot indicates a violation to the OLS assumption. The unequal scatter might indicate different variances. +The second QQ plot shows the straight line if the errors are distributed normally, but we can see that point 244, 306, and 307 are derived from the line. The qqplot suggests that the data is relatively normally distributed since most of the dots are on the line. +Similar to the first one, the Scale-location show a cluster in the center which is a violation to the assumption of equal variance. +The Residuals vs. Leverage plot tells that point 244, 306, and 307are the levearge points which have the greatest influence on our model + +Chekcing Nomality and Constant Variance statistically +```{r} +sresid <- rstudent(reg1) +hist(sresid, freq = FALSE) +lines(density(sresid), col = "blue", lwd = 3) +xfit <- seq(-4, 4, length = 100) +yfit <- dnorm(xfit, mean = mean(sresid), sd = sd(sresid)) +lines(xfit, yfit, col = "red", lwd = 3) +``` +The normality is skewed to the right slightly. +Conclusion: Not too bad and departure from normality is not too severe, and is skewed to the right so need hypothesis test. + +```{r} +library(car) +qqPlot(reg1) +``` +There are several outliers beyond the CI, need hypothesis test. + +```{r} +shapiro.test(sresid) +``` +Conclusion: Since p-value < 0.05 we reject Ho: Normality fails to hold + + +```{r} +ncvTest(reg1) +``` +p = 0.0010161 < 0.05 +Conclusion: We reject Ho: variance is not constant + + + + diff --git a/HUDK4050 HW6_Kmeans&PCA.Rmd b/HUDK4050 HW6_Kmeans&PCA.Rmd new file mode 100644 index 0000000..a929896 --- /dev/null +++ b/HUDK4050 HW6_Kmeans&PCA.Rmd @@ -0,0 +1,224 @@ +--- +title: "HUDK4050 HW6-Kmeans Clustering & Principal Component Analysis" +author: "Xiyun Zhang" +date: "12/12/2020" +output: html_document +--- + +Data: +x: Back and Forth +y: Up and Down +z: Left and Right +Acceleration: Acceleration during the activity + +Survey Questions: +Name: Name who participates in the activity +Gender: The person's gender: female or Male +Height: Personal Height in cm +Weight: Personal Weight in kg +Fitness: Overall fitness level on a scale of 1- 5: 1. Poor 2. Fair 3. Good 4. Very good 5. Excellent. +Favor: How much the person prefer jumping: 1 being do not like and 5 being like it very much. +Prior: If the person has prior experience of jumping rope or not: 1 being do not have much experience and 5 being have a lot of experience. +Illness: Level of illness that might effect the person during jumping rope: 0 being have no illness and 5 being strongly effect by the illness. +Happyness: Level of happiness before the person jumping rope: 1 being very sad and 5 being really happy. +time_interval: The time when the person did the activity: Morning (6 am - 12pm), Afternoon (12pm - 4pm), Evening (4 pm - 10 pm), Night (10 pm - 6 am). +last_meal: How long before jumping rope did the person have his/her last meal: 30mins-1 hour ago, 1 hour- 2 hours ago, more than 2 hours +num_jumps: Number of jumps the person accomplished in 1-minute. + + + +```{r} +library(dplyr) +DF <- read.csv("Clean_data_H5.csv") +plot(DF$avg_x) +plot(DF$avg_y) +plot(DF$avg_z) +for(i in 1:nrow(DF)){ + if(DF$avg_z[i]>2.5){ + DF$avg_z[i] = DF$avg_z[i]-8 + } +} +DF$avg_y = abs(DF$avg_y) +DF = DF[,-1] +DF$Participant[DF$Participant=="Vidya Madhaban"] = "Vidya Madhavan" +DF = mutate(DF,gender = 1, height = 1, weight = 1, fitness = 1, favor = 1, prior = 1, illness = 1, happyness = 1, time_interval = 1, last_meal = 1, num_jumps = 1) +names(DF)[1] = "name" +``` +Since there were some negative values in the initial clean data, the plots seemingly to be inefficient to produce any visualization at this point. Therefore, we decided to use the absolute value of these negtive ones to plot new diagrams. + + +```{r} +plot(DF$avg_x) +plot(DF$avg_y) +plot(DF$avg_z) +``` +It turns out that the plot of y variable to be much more efficient after using the absolute value. +Based on the plots, we can tell that most of our data tend to be together with some outliers. + + +```{r} +survey = read.csv("Jump Rope Research.csv") +survey1 = select(survey, name = Q1, gender = Q2, height = Q3, weight = Q4, fitness = Q5, favor = Q6, prior = Q7, illness = Q8, happyness = Q9, time_interval = Q10, last_meal = Q11, num_jumps = Q12) +survey1 = survey1[-c(1,2),] +``` +```{r} +colname = colnames(DF) +colname = colname[-c(1:6)] +for(j in colname){ + for(i in 1:nrow(DF)){ + DF[[j]][i] = survey1[[j]][survey1$name == DF$name[i]] + } +} +colname = c(7,10:16) +for(i in colname){DF[,i] = as.factor(DF[,i])} +colname1 = c(8,9,17) +for(i in colname1){DF[,i] = as.numeric(DF[,i])} +``` + +```{r} +DF = mutate(DF, time = rep(0:60,9)) +``` + +```{r} +DF1 = select(DF, abs_acceleration,avg_y,avg_x,avg_z) +pairs(DF1) +``` +In this plot, we will mainly focused on the regression between acceleration and xyz variables to see whether there is any relationship between acceleration and the predictor variables. +From the plot, we can see that it is hardly to tell if there is any relationship between acceleration and the xyz variables that all the plots are in a cloud shape. + + +```{r} +cor(DF1) +``` +The absolute value of correlation between acceleration and y is: 0.43044889 which stands for a moderate correlation. +The absolute value of correlation between acceleration and x is: 0.26456843 which shows a relatively weak correlation. +The absolute value of correlation between acceleration and z is: 0.009613775 which means that there is weak or no correlation between these two variables. + + +### K-means analysis +```{r} +#install.packages("stats") +#install.packages("dplyr") +#install.packages("ggplot2") +#install.packages("ggfortify") + +library(stats) +library(dplyr) +library(ggplot2) +library(ggfortify) +str(DF) + +DF2 <- select(DF,c(1,3:6,8:14,17)) +str(DF2) +colname = c(8:12) +for(i in colname){DF2[,i] = as.numeric(levels(DF2[,i]))[DF2[,i]]} +str(DF2) + + +DF2 <- DF2 %>% group_by(name)%>%summarise(avg_x=mean(avg_x), avg_y=mean(avg_y),avg_z=mean(avg_z),abs_acceleration=mean(abs_acceleration),height = mean(height), weight = mean(weight), fitness = mean(fitness), favor = mean(favor), prior = mean(prior), illness = mean(illness), happyness = mean(happyness), num_jumps = mean(num_jumps)) + +DF_kmeans <- scale(DF2[,-1]) + +``` + + +```{r} +#install.packages("factoextra") +library(factoextra) +fviz_nbclust(DF_kmeans, kmeans, method = "wss",k.max=8) + + geom_vline(xintercept = 4, linetype = 2)+ + labs(subtitle = "Elbow method") +``` +The Optimal Numbers of Cluster indicates that we should use k = 4 for further analysis. + + +```{r} +# Compute k-means with k = 4 +set.seed(8) +km4 <- kmeans(DF_kmeans, 4) +autoplot(km4,DF_kmeans,frame=T)+ + labs(title = "Kmeans Clustering with k = 4")+ + theme_bw() +``` + +Although the optimal numbers of clusters indicates we should have 4 clusters, the above plot doesn't give us as useful insights as we thought. It is hardly to separte our group member into two groups: novices and experts. So, we try to use 2-clusters instead. + +```{r} +# Compute k-means with k = 2 +set.seed(6) +km2 <- kmeans(DF_kmeans, 2) +autoplot(km2,DF_kmeans,frame=T) + + geom_text(aes(label=DF2$name),hjust=0, vjust=0)+ + labs(title = "Kmeans Clustering with k = 2")+ + theme_bw() + + +print(km2) +DF2 <- data.frame(DF2, km2$cluster) + +``` + +According to the k-means clustering, we are clustered into two group1: +Group 1 (Novice): Vidya Madhavan, Paolo Rivas, Ruoyi Wang +Group 2 (Experienced): Qiyu Wu, Xiyun Zhang, Kaijie Fang, Hangshi Jin, Yifei Zhang, Wenning Xiao + +We call Group 1 with smaller number of rope jumping and less prior experience Novice while Group 2 with higher number of rope jumping and more prior experience Experienced. + +Given the cluster means, we can see Group 2 (Experienced) has lower absolute means in avg_x, avg_v, avg_z and abs_acceleration, and lower means in weight, fitness, illness and happyness. However, they has higher means in height, favor and prior. + +Thus, we conclude: +1. Group 2 who show a preference for jumping rope and have prior experience can make more jumps in 1 minutes than Group 1. +2. Experienced would move up, down, left and right in a small amplitude and small acceleration. +3. Lower illness level and higher happiness level might contribute being an expert in jumping ropes. +4. It is interested to see experts have lower fitness level than novices. + + + + +### Principal Component Analysis +```{r} +pca <- prcomp(DF_kmeans, scale. = TRUE) +summary(pca) +plot(pca, type = "lines") +(loadings <- abs(pca$rotation)) +#biplot(pca) +``` + +It can be seen from the summary that PC1 and PC2 contribute to 58.19% of the variation of the data while PC1, PC2, PC3 and PC4 contribute to 83.74% of the variation of the data. + +PC1 has comparatively high loading scores for height, weight, abs_acceleration, avg_x and prior. +PC2 has comparatively high loading scores for avg_y, fitness, favor, illness, happyness and num_jumps. + +```{r} +#library(devtools) +#install_github("vqv/ggbiplot") +library(ggbiplot) +#ggbiplot(pca)+ylim(-2,2)+xlim(-2,2.5) +#ggbiplot(pca, labels=DF2$name)+ylim(-2,2)+xlim(-1.5,2.5) + +pca_group <- c(rep("Group A", 3), rep("Group B",2), "Group A", rep("Group B",3)) + +ggbiplot(pca ,ellipse=TRUE, choices = c(1,2), labels=DF2$name, groups=pca_group)+ylim(-2,2)+xlim(-1.5,2.5)+ labs(title = "PCA Analysis with PC1 and PC2")+ theme_bw() + +``` + + +Here, we can see that the variables height, weight, abs_acceleration and avg_x all contribute to PC1, with higher values in those variables moving the samples to the right on this plot. + +After specifying Group A and Group B, we find Group A form a distinct cluster to the right. Looking at the axes, we see that Group A are characterized by high values for height, weight, abs_acceleration and avg_x. Group B, on the other hand, are characterized by high values for prior, favor, and num_jumps and high absolute values for avg_y, illness, fitness and happyness. + +Thus, we conclude: +1. The survey questions does not perfectly separate the group based on novices and experts that both novices and experts have some characteristics that are in the same cluster. +2. However, it is interesting to see that Vidya and Paolo are in the same cluster whom are both categorized as novices based on the K-mean. It might because they have some similarities. +2. Kaijie, Hangshi, Paolo, and Vidya are in group A are the taller ones and have higher average weight in our group. It might because of these facts that make them have higher absolute value of acceleration during the activity. +3. Xiyun, Yifei, Wenning, Qiyu, and Ruoyi are in group B. This group have an overall higher number of jumps. Based on the graph, we might conclude that with more prior experience with jumping ropes and more favor in doing this activity might lead to a higher number of jumps. +4. Another interesting thing here is that though Ruoyi is categorized as a novice and based on the survey question, she jumped 73 times during 1-minuets, she has similar prior experience and favor with the others who are defined as experts. This means that she might be an outlier in the novices group. +5. Another thing that brings to an attention is that fitness has not been counted as a significant value in the PCA plot. + + +```{r} +ggbiplot(pca ,ellipse=TRUE, choices = c(3,4), labels=DF2$name, groups=pca_group)+ylim(-2,2)+xlim(-1.5,2.5)+ labs(title = "PCA Analysis with PC3 and PC4")+ theme_bw() +``` +We don't see much insights of Groups with PC3 and PC4 because they overlapped heavily. + + diff --git a/HUDK4050-HW6.html b/HUDK4050-HW6.html new file mode 100644 index 0000000..b8e1677 --- /dev/null +++ b/HUDK4050-HW6.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + +HUDK4050 HW6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +

Data: x: Back and Forth y: Up and Down z: Left and Right Acceleration: Acceleration during the activity

+

Survey Questions: Name: Name who participates in the activity Gender: The person’s gender: female or Male Height: Personal Height in cm Weight: Personal Weight in kg Fitness: Overall fitness level on a scale of 1- 5: 1. Poor 2. Fair 3. Good 4. Very good 5. Excellent. Favor: How much the person prefer jumping: 1 being do not like and 5 being like it very much. Prior: If the person has prior experience of jumping rope or not: 1 being do not have much experience and 5 being have a lot of experience. Illness: Level of illness that might effect the person during jumping rope: 0 being have no illness and 5 being strongly effect by the illness. Happyness: Level of happiness before the person jumping rope: 1 being very sad and 5 being really happy. time_interval: The time when the person did the activity: Morning (6 am - 12pm), Afternoon (12pm - 4pm), Evening (4 pm - 10 pm), Night (10 pm - 6 am). last_meal: How long before jumping rope did the person have his/her last meal: 30mins-1 hour ago, 1 hour- 2 hours ago, more than 2 hours num_jumps: Number of jumps the person accomplished in 1-minute.

+
library(dplyr)
+
## 
+## Attaching package: 'dplyr'
+
## The following objects are masked from 'package:stats':
+## 
+##     filter, lag
+
## The following objects are masked from 'package:base':
+## 
+##     intersect, setdiff, setequal, union
+
DF <- read.csv("Clean_data_H5.csv")
+plot(DF$avg_x)
+

+
plot(DF$avg_y)
+

+
plot(DF$avg_z)
+

+
for(i in 1:nrow(DF)){
+  if(DF$avg_z[i]>2.5){
+    DF$avg_z[i] = DF$avg_z[i]-8
+  }
+}
+DF$avg_y = abs(DF$avg_y)
+DF = DF[,-1]
+DF$Participant[DF$Participant=="Vidya Madhaban"] = "Vidya Madhavan"
+DF = mutate(DF,gender = 1, height = 1, weight = 1, fitness = 1, favor = 1, prior = 1, illness = 1, happyness = 1, time_interval = 1, last_meal = 1, num_jumps = 1)
+names(DF)[1] = "name"
+

Since there were some negative values in the initial clean data, the plots seemingly to be inefficient to produce any visualization at this point. Therefore, we decided to use the absolute value of these negtive ones to plot new diagrams.

+
plot(DF$avg_x)
+

+
plot(DF$avg_y)
+

+
plot(DF$avg_z)
+

It turns out that the plot of y variable to be much more efficient after using the absolute value. Based on the plots, we can tell that most of our data tend to be together with some outliers.

+
survey = read.csv("Jump Rope Research.csv")
+survey1 = select(survey, name = Q1, gender = Q2, height = Q3, weight = Q4, fitness = Q5, favor = Q6, prior = Q7, illness = Q8, happyness = Q9, time_interval = Q10, last_meal = Q11, num_jumps = Q12)
+survey1 = survey1[-c(1,2),]
+
colname = colnames(DF)
+colname = colname[-c(1:6)]
+for(j in colname){
+  for(i in 1:nrow(DF)){
+    DF[[j]][i] = survey1[[j]][survey1$name == DF$name[i]]
+  }
+}
+colname = c(7,10:16)
+for(i in colname){DF[,i] = as.factor(DF[,i])}
+colname1 = c(8,9,17)
+for(i in colname1){DF[,i] = as.numeric(DF[,i])}
+

In the following plots, we would see how each variable in our survey related to the data we got from the app during the activity.

+

1: Jump Height and Personal Height Since y stands for the vertical position of where we put our phone, we assumed that taller people would place their phone higher than those petite ones. We are, thereofre, interested to see whether taller people tend to jump higher or not.

+
plot(DF$avg_y~DF$height)
+

Based on what the graph, we can see that there are no clear evidence that these is any relationship between these two variables.

+

2: Jump Height and Number of Jumps Next, we would want to see any correlation between y variable and number of jumps. In other words, if a person jump higher, would he/she tend to jump fewer jumps since it might take more energy to do a higher jump.

+
plot(DF$avg_y~DF$num_jumps)
+

The plot we got shows that there is no clear relationship between number of jumps and jumping high. It might also indicate that in a short time frame, people tend to jump in a consistent way. Since we only measured in 1-minute, your body would not quickly get tired or exhausted even if you jump higher than normal.

+

3: Acceleration and Fitness Level Thirdly, we would like to see if fitness level have some effects on acceleration: do people have a higher level of fitness would have a higher value of acceleration during the activity.

+
plot(DF$abs_acceleration~DF$fitness)
+

The barplot shows that: for those who self reported fitness level at 2 which means a fair level has a mean of acceleration slightly higher than those reported fitness level at 3 which means a good level of fitness. According to K-mean and PCA, an lower acceleration indicates better in jumping rope, we can tell that the plot proves it. Though the mean values give a suprising result that people who have better fitness level have lower acceleration, the group with level 3 fitness has a much higher range of acceleration comparing to the other group. Overall, we can conclude that fitness has some influence on acceleration that people who have higher fitness level would have higher value of acceleration. In addition, there are some outliers in the barplot which might because that most people choose a moderate answer in the survey question: 2 and 3 which caused some bias.

+

4: Acceleration and Illness Level We assume that people have lower illness level would have higher acceleration.

+
plot(DF$abs_acceleration~DF$illness)
+

The barplot shows that people who reported has a moderate illness level at 3 has a much lower acceleration than those who reported little or some illness. The plot proves our assumption that illness level would effect acceleration. However, we can also see that people who reported little illness 1 effect have a slightly lower mean than those who reported has some illness 2. But level 1 has a much higher range than level 2. There are also some outliers shows. In level 1, the outliers are those have slower acceleration than most of the others, this might due to some other factors that effect their acceleration during the activity such as fitness level which we just concluded above. In level 2, the outliers are mainly above the range, this might because of that the illness are not those would directly effect them from doing such activity. Another reason might because they have higher level of fitness that has positive relationship between acceleration.

+

5: Acceleration and Mood In this plot, we are interested in whether the happiness level before you jumping the rope would effect your acceleration. In other words, would people with higher happiness level tend to jump quicker?

+
plot(DF$abs_acceleration~DF$happyness)
+

It is really interested to see how our mood would effect us when doing an activity. Accordign to the plot, we can see a upward treading that higher happiness level have a lower mean value of acceleration. (Higher number indicates higher level sadness.) Level 3 which is a moderate level of happiness has the highest range in this barplot. It might because of the fitness and illness level that cause this happens but it might also because happiness or mood is hard to define on scale, therefore, most people would choose a moderate answer for this question.

+
DF1 = select(DF, abs_acceleration,avg_y,avg_x,avg_z)
+reg = lm(abs_acceleration~., DF1)
+summary(reg)
+
## 
+## Call:
+## lm(formula = abs_acceleration ~ ., data = DF1)
+## 
+## Residuals:
+##     Min      1Q  Median      3Q     Max 
+## -8.2854 -1.9038  0.0692  1.5539 11.9512 
+## 
+## Coefficients:
+##             Estimate Std. Error t value Pr(>|t|)    
+## (Intercept)  8.86118    0.51999  17.041  < 2e-16 ***
+## avg_y        0.64433    0.05769  11.169  < 2e-16 ***
+## avg_x        0.49930    0.07763   6.432 2.76e-10 ***
+## avg_z        0.03080    0.07920   0.389    0.698    
+## ---
+## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+## 
+## Residual standard error: 2.634 on 545 degrees of freedom
+## Multiple R-squared:  0.2444, Adjusted R-squared:  0.2402 
+## F-statistic: 58.76 on 3 and 545 DF,  p-value: < 2.2e-16
+

x has a p-value of 2.76e-10 and y has a p-value smaller than 2e-16. Both of these two variables conclude to be significant since their p-value are smaller than 0.05. The regression model indicates that the x variable which indicates back and forth, and y variable which indicates up and down, are the two significant variables with our response variable: acceleration.

+
DF = mutate(DF, time = rep(0:60,9))
+
library(ggplot2)
+ggplot(DF, aes(time, avg_z, colour = name)) + geom_line() + xlab("time")
+

+
pairs(DF1)
+

In this plot, we will mainly focused on the regression between acceleration and xyz variables to see whether there is any relationship between acceleration and the predictor variables. From the plot, we can see that it is hardly to tell if there is any relationship between acceleration and the xyz variables that all the plots are in a cloud shape.

+
cor(DF1)
+
##                  abs_acceleration       avg_y      avg_x        avg_z
+## abs_acceleration      1.000000000  0.43044889 0.26456843 -0.009613775
+## avg_y                 0.430448894  1.00000000 0.05152961 -0.119315015
+## avg_x                 0.264568434  0.05152961 1.00000000  0.106860542
+## avg_z                -0.009613775 -0.11931501 0.10686054  1.000000000
+

The absolute value of correlation between acceleration and y is: 0.43044889 which stands for a moderate correlation. The absolute value of correlation between acceleration and x is: 0.26456843 which shows a relatively weak correlation. The absolute value of correlation between acceleration and z is: 0.009613775 which means that there is weak or no correlation between these two variables.

+

Checking Normality and Constant Variance based on plots

+
reg1 = lm(abs_acceleration~.,DF1)
+plot(reg1)
+

The first scatterplot of Residuals vs. Fitted values shows a cluster in the center. The plot indicates a violation to the OLS assumption. The unequal scatter might indicate different variances. The second QQ plot shows the straight line if the errors are distributed normally, but we can see that point 244, 306, and 307 are derived from the line. The qqplot suggests that the data is relatively normally distributed since most of the dots are on the line. Similar to the first one, the Scale-location show a cluster in the center which is a violation to the assumption of equal variance. The Residuals vs. Leverage plot tells that point 244, 306, and 307are the levearge points which have the greatest influence on our model

+

Chekcing Nomality and Constant Variance statistically

+
sresid <- rstudent(reg1)
+hist(sresid, freq = FALSE)
+lines(density(sresid), col = "blue", lwd = 3)
+xfit <- seq(-4, 4, length = 100)
+yfit <- dnorm(xfit, mean = mean(sresid), sd = sd(sresid))
+lines(xfit, yfit, col = "red", lwd = 3)
+

The normality is skewed to the right slightly. Conclusion: Not too bad and departure from normality is not too severe, and is skewed to the right so need hypothesis test.

+
library(car)
+
## Loading required package: carData
+
## 
+## Attaching package: 'car'
+
## The following object is masked from 'package:dplyr':
+## 
+##     recode
+
qqPlot(reg1)
+

+
## [1] 306 307
+

There are several outliers beyond the CI, need hypothesis test.

+
shapiro.test(sresid)
+
## 
+##  Shapiro-Wilk normality test
+## 
+## data:  sresid
+## W = 0.98464, p-value = 1.535e-05
+

Conclusion: Since p-value < 0.05 we reject Ho: Normality fails to hold

+
ncvTest(reg1)
+
## Non-constant Variance Score Test 
+## Variance formula: ~ fitted.values 
+## Chisquare = 10.79804, Df = 1, p = 0.0010161
+

p = 0.0010161 < 0.05 Conclusion: We reject Ho: variance is not constant

+ + + + +
+ + + + + + + + + + + + + + + diff --git a/HUDK4050-HW6_Kmeans-PCA.html b/HUDK4050-HW6_Kmeans-PCA.html new file mode 100644 index 0000000..ecb3315 --- /dev/null +++ b/HUDK4050-HW6_Kmeans-PCA.html @@ -0,0 +1,689 @@ + + + + + + + + + + + + + + + +HUDK4050 HW6-Kmeans Clustering & Principal Component Analysis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +

Data: x: Back and Forth y: Up and Down z: Left and Right Acceleration: Acceleration during the activity

+

Survey Questions: Name: Name who participates in the activity Gender: The person’s gender: female or Male Height: Personal Height in cm Weight: Personal Weight in kg Fitness: Overall fitness level on a scale of 1- 5: 1. Poor 2. Fair 3. Good 4. Very good 5. Excellent. Favor: How much the person prefer jumping: 1 being do not like and 5 being like it very much. Prior: If the person has prior experience of jumping rope or not: 1 being do not have much experience and 5 being have a lot of experience. Illness: Level of illness that might effect the person during jumping rope: 0 being have no illness and 5 being strongly effect by the illness. Happyness: Level of happiness before the person jumping rope: 1 being very sad and 5 being really happy. time_interval: The time when the person did the activity: Morning (6 am - 12pm), Afternoon (12pm - 4pm), Evening (4 pm - 10 pm), Night (10 pm - 6 am). last_meal: How long before jumping rope did the person have his/her last meal: 30mins-1 hour ago, 1 hour- 2 hours ago, more than 2 hours num_jumps: Number of jumps the person accomplished in 1-minute.

+
library(dplyr)
+
## 
+## Attaching package: 'dplyr'
+
## The following objects are masked from 'package:stats':
+## 
+##     filter, lag
+
## The following objects are masked from 'package:base':
+## 
+##     intersect, setdiff, setequal, union
+
DF <- read.csv("Clean_data_H5.csv")
+plot(DF$avg_x)
+

+
plot(DF$avg_y)
+

+
plot(DF$avg_z)
+

+
for(i in 1:nrow(DF)){
+  if(DF$avg_z[i]>2.5){
+    DF$avg_z[i] = DF$avg_z[i]-8
+  }
+}
+DF$avg_y = abs(DF$avg_y)
+DF = DF[,-1]
+DF$Participant[DF$Participant=="Vidya Madhaban"] = "Vidya Madhavan"
+DF = mutate(DF,gender = 1, height = 1, weight = 1, fitness = 1, favor = 1, prior = 1, illness = 1, happyness = 1, time_interval = 1, last_meal = 1, num_jumps = 1)
+names(DF)[1] = "name"
+

Since there were some negative values in the initial clean data, the plots seemingly to be inefficient to produce any visualization at this point. Therefore, we decided to use the absolute value of these negtive ones to plot new diagrams.

+
plot(DF$avg_x)
+

+
plot(DF$avg_y)
+

+
plot(DF$avg_z)
+

It turns out that the plot of y variable to be much more efficient after using the absolute value. Based on the plots, we can tell that most of our data tend to be together with some outliers.

+
survey = read.csv("Jump Rope Research.csv")
+survey1 = select(survey, name = Q1, gender = Q2, height = Q3, weight = Q4, fitness = Q5, favor = Q6, prior = Q7, illness = Q8, happyness = Q9, time_interval = Q10, last_meal = Q11, num_jumps = Q12)
+survey1 = survey1[-c(1,2),]
+
colname = colnames(DF)
+colname = colname[-c(1:6)]
+for(j in colname){
+  for(i in 1:nrow(DF)){
+    DF[[j]][i] = survey1[[j]][survey1$name == DF$name[i]]
+  }
+}
+colname = c(7,10:16)
+for(i in colname){DF[,i] = as.factor(DF[,i])}
+colname1 = c(8,9,17)
+for(i in colname1){DF[,i] = as.numeric(DF[,i])}
+
DF = mutate(DF, time = rep(0:60,9))
+
DF1 = select(DF, abs_acceleration,avg_y,avg_x,avg_z)
+pairs(DF1)
+

In this plot, we will mainly focused on the regression between acceleration and xyz variables to see whether there is any relationship between acceleration and the predictor variables. From the plot, we can see that it is hardly to tell if there is any relationship between acceleration and the xyz variables that all the plots are in a cloud shape.

+
cor(DF1)
+
##                  abs_acceleration       avg_y      avg_x        avg_z
+## abs_acceleration      1.000000000  0.43044889 0.26456843 -0.009613775
+## avg_y                 0.430448894  1.00000000 0.05152961 -0.119315015
+## avg_x                 0.264568434  0.05152961 1.00000000  0.106860542
+## avg_z                -0.009613775 -0.11931501 0.10686054  1.000000000
+

The absolute value of correlation between acceleration and y is: 0.43044889 which stands for a moderate correlation. The absolute value of correlation between acceleration and x is: 0.26456843 which shows a relatively weak correlation. The absolute value of correlation between acceleration and z is: 0.009613775 which means that there is weak or no correlation between these two variables.

+
+

K-means analysis

+
#install.packages("stats")
+#install.packages("dplyr")
+#install.packages("ggplot2")
+#install.packages("ggfortify")
+
+library(stats)
+library(dplyr)
+library(ggplot2)
+library(ggfortify)
+str(DF)
+
## 'data.frame':    549 obs. of  18 variables:
+##  $ name            : chr  "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" ...
+##  $ time_formated   : chr  "19:00:00" "19:00:01" "19:00:02" "19:00:03" ...
+##  $ avg_x           : num  0.949 0.434 -0.35 -1.409 -1.207 ...
+##  $ avg_y           : num  9.28 10.88 8.03 11.34 7.68 ...
+##  $ avg_z           : num  -0.466 -1.982 -1.458 -1.711 -1.273 ...
+##  $ abs_acceleration: num  9.61 15.72 11.79 15.02 12 ...
+##  $ gender          : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ height          : num  176 176 176 176 176 176 176 176 176 176 ...
+##  $ weight          : num  71 71 71 71 71 71 71 71 71 71 ...
+##  $ fitness         : Factor w/ 2 levels "2","3": 1 1 1 1 1 1 1 1 1 1 ...
+##  $ favor           : Factor w/ 4 levels "1","2","3","4": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ prior           : Factor w/ 5 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...
+##  $ illness         : Factor w/ 3 levels "1","2","3": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ happyness       : Factor w/ 3 levels "2","3","4": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ time_interval   : Factor w/ 4 levels "Afternoon  (12pm - 4pm)",..: 2 2 2 2 2 2 2 2 2 2 ...
+##  $ last_meal       : Factor w/ 3 levels "1 hour- 2 hours ago",..: 3 3 3 3 3 3 3 3 3 3 ...
+##  $ num_jumps       : num  170 170 170 170 170 170 170 170 170 170 ...
+##  $ time            : int  0 1 2 3 4 5 6 7 8 9 ...
+
DF2 <- select(DF,c(1,3:6,8:14,17))
+str(DF2)
+
## 'data.frame':    549 obs. of  13 variables:
+##  $ name            : chr  "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" ...
+##  $ avg_x           : num  0.949 0.434 -0.35 -1.409 -1.207 ...
+##  $ avg_y           : num  9.28 10.88 8.03 11.34 7.68 ...
+##  $ avg_z           : num  -0.466 -1.982 -1.458 -1.711 -1.273 ...
+##  $ abs_acceleration: num  9.61 15.72 11.79 15.02 12 ...
+##  $ height          : num  176 176 176 176 176 176 176 176 176 176 ...
+##  $ weight          : num  71 71 71 71 71 71 71 71 71 71 ...
+##  $ fitness         : Factor w/ 2 levels "2","3": 1 1 1 1 1 1 1 1 1 1 ...
+##  $ favor           : Factor w/ 4 levels "1","2","3","4": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ prior           : Factor w/ 5 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...
+##  $ illness         : Factor w/ 3 levels "1","2","3": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ happyness       : Factor w/ 3 levels "2","3","4": 2 2 2 2 2 2 2 2 2 2 ...
+##  $ num_jumps       : num  170 170 170 170 170 170 170 170 170 170 ...
+
colname = c(8:12)
+for(i in colname){DF2[,i] = as.numeric(levels(DF2[,i]))[DF2[,i]]}
+str(DF2)
+
## 'data.frame':    549 obs. of  13 variables:
+##  $ name            : chr  "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" "Hangshi Jin" ...
+##  $ avg_x           : num  0.949 0.434 -0.35 -1.409 -1.207 ...
+##  $ avg_y           : num  9.28 10.88 8.03 11.34 7.68 ...
+##  $ avg_z           : num  -0.466 -1.982 -1.458 -1.711 -1.273 ...
+##  $ abs_acceleration: num  9.61 15.72 11.79 15.02 12 ...
+##  $ height          : num  176 176 176 176 176 176 176 176 176 176 ...
+##  $ weight          : num  71 71 71 71 71 71 71 71 71 71 ...
+##  $ fitness         : num  2 2 2 2 2 2 2 2 2 2 ...
+##  $ favor           : num  2 2 2 2 2 2 2 2 2 2 ...
+##  $ prior           : num  2 2 2 2 2 2 2 2 2 2 ...
+##  $ illness         : num  2 2 2 2 2 2 2 2 2 2 ...
+##  $ happyness       : num  3 3 3 3 3 3 3 3 3 3 ...
+##  $ num_jumps       : num  170 170 170 170 170 170 170 170 170 170 ...
+
DF2 <- DF2 %>% group_by(name)%>%summarise(avg_x=mean(avg_x), avg_y=mean(avg_y),avg_z=mean(avg_z),abs_acceleration=mean(abs_acceleration),height = mean(height), weight = mean(weight), fitness = mean(fitness), favor = mean(favor), prior = mean(prior), illness = mean(illness), happyness = mean(happyness),  num_jumps = mean(num_jumps))
+
## `summarise()` ungrouping output (override with `.groups` argument)
+
DF_kmeans <- scale(DF2[,-1])
+
#install.packages("factoextra")
+library(factoextra)
+
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
+
fviz_nbclust(DF_kmeans, kmeans, method = "wss",k.max=8) +
+  geom_vline(xintercept = 4, linetype = 2)+
+  labs(subtitle = "Elbow method")
+

The Optimal Numbers of Cluster indicates that we should use k = 4 for further analysis.

+
# Compute k-means with k = 4
+set.seed(8)
+km4 <- kmeans(DF_kmeans, 4)
+autoplot(km4,DF_kmeans,frame=T)+
+  labs(title = "Kmeans Clustering with k = 4")+
+  theme_bw()
+
## Warning: `select_()` is deprecated as of dplyr 0.7.0.
+## Please use `select()` instead.
+## This warning is displayed once every 8 hours.
+## Call `lifecycle::last_warnings()` to see where this warning was generated.
+
## Warning: `group_by_()` is deprecated as of dplyr 0.7.0.
+## Please use `group_by()` instead.
+## See vignette('programming') for more help
+## This warning is displayed once every 8 hours.
+## Call `lifecycle::last_warnings()` to see where this warning was generated.
+

+

Although the optimal numbers of clusters indicates we should have 4 clusters, the above plot doesn’t give us as useful insights as we thought. It is hardly to separte our group member into two groups: novices and experts. So, we try to use 2-clusters instead.

+
# Compute k-means with k = 2
+set.seed(6)
+km2 <- kmeans(DF_kmeans, 2)
+autoplot(km2,DF_kmeans,frame=T) +
+  geom_text(aes(label=DF2$name),hjust=0, vjust=0)+ 
+  labs(title = "Kmeans Clustering with k = 2")+
+  theme_bw()
+

+
print(km2)
+
## K-means clustering with 2 clusters of sizes 1, 8
+## 
+## Cluster means:
+##        avg_x      avg_y       avg_z abs_acceleration    height     weight
+## 1  2.1196019  0.8138908  0.11850311        1.9790620  1.386280  1.8138785
+## 2 -0.2649502 -0.1017363 -0.01481289       -0.2473828 -0.173285 -0.2267348
+##      fitness      favor      prior    illness happyness  num_jumps
+## 1  0.8432740 -1.5343905 -1.7071584 -0.9428090         0 -1.3502367
+## 2 -0.1054093  0.1917988  0.2133948  0.1178511         0  0.1687796
+## 
+## Clustering vector:
+## [1] 2 2 1 2 2 2 2 2 2
+## 
+## Within cluster sum of squares by cluster:
+## [1]  0.00000 70.13662
+##  (between_SS / total_SS =  26.9 %)
+## 
+## Available components:
+## 
+## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
+## [6] "betweenss"    "size"         "iter"         "ifault"
+
DF2 <- data.frame(DF2, km2$cluster)
+

According to the k-means clustering, we are clustered into two group1: Group 1 (Novice): Vidya Madhavan, Paolo Rivas, Ruoyi Wang Group 2 (Experienced): Qiyu Wu, Xiyun Zhang, Kaijie Fang, Hangshi Jin, Yifei Zhang, Wenning Xiao

+

We call Group 1 with smaller number of rope jumping and less prior experience Novice while Group 2 with higher number of rope jumping and more prior experience Experienced.

+

Given the cluster means, we can see Group 2 (Experienced) has lower absolute means in avg_x, avg_v, avg_z and abs_acceleration, and lower means in weight, fitness, illness and happyness. However, they has higher means in height, favor and prior.

+

Thus, we conclude: 1. Group 2 who show a preference for jumping rope and have prior experience can make more jumps in 1 minutes than Group 1. 2. Experienced would move up, down, left and right in a small amplitude and small acceleration. 3. Lower illness level and higher happiness level might contribute being an expert in jumping ropes. 4. It is interested to see experts have lower fitness level than novices.

+
+
+

Principal Component Analysis

+
pca <- prcomp(DF_kmeans, scale. = TRUE)
+summary(pca)
+
## Importance of components:
+##                         PC1    PC2    PC3    PC4     PC5     PC6     PC7
+## Standard deviation     2.02 1.7039 1.3390 1.1283 1.03879 0.68280 0.54689
+## Proportion of Variance 0.34 0.2419 0.1494 0.1061 0.08992 0.03885 0.02492
+## Cumulative Proportion  0.34 0.5819 0.7313 0.8374 0.92736 0.96622 0.99114
+##                            PC8       PC9
+## Standard deviation     0.32606 2.392e-16
+## Proportion of Variance 0.00886 0.000e+00
+## Cumulative Proportion  1.00000 1.000e+00
+
plot(pca, type = "lines")
+

+
(loadings <- abs(pca$rotation))
+
##                         PC1        PC2        PC3         PC4        PC5
+## avg_x            0.37542580 0.03628051 0.24576930 0.343665683 0.11229841
+## avg_y            0.10603774 0.42667501 0.38495551 0.169102849 0.05687983
+## avg_z            0.07691425 0.06361843 0.29949535 0.005274036 0.86003475
+## abs_acceleration 0.45629833 0.05307350 0.06374263 0.044290147 0.26399670
+## height           0.43226507 0.23396274 0.11868546 0.166704537 0.10642150
+## weight           0.47486405 0.05383270 0.09144776 0.161819915 0.11871398
+## fitness          0.01353252 0.39205328 0.17265215 0.514297501 0.22250314
+## favor            0.21339597 0.34173130 0.42711132 0.129836403 0.24925160
+## prior            0.35916099 0.29235587 0.03604691 0.311830596 0.09151626
+## illness          0.18082309 0.31905162 0.29217340 0.541309996 0.11148995
+## happyness        0.09346788 0.33068504 0.56331481 0.083549327 0.03908439
+## num_jumps        0.07202587 0.43014765 0.24284993 0.344583619 0.12415457
+##                         PC6         PC7        PC8        PC9
+## avg_x            0.30441505 0.571090168 0.27642151 0.33131053
+## avg_y            0.31802799 0.477264783 0.21009371 0.24138678
+## avg_z            0.05118762 0.023554434 0.18679415 0.09070236
+## abs_acceleration 0.27655285 0.232972361 0.22675340 0.39805892
+## height           0.07412206 0.009834898 0.17558808 0.17562999
+## weight           0.04367159 0.110861803 0.18078541 0.21629557
+## fitness          0.45864103 0.173044903 0.14907909 0.03322864
+## favor            0.30152618 0.002927944 0.40213853 0.53265575
+## prior            0.40000835 0.079816139 0.36134646 0.49864657
+## illness          0.24621230 0.104098452 0.02242748 0.12547806
+## happyness        0.05287082 0.294404772 0.61473616 0.15560821
+## num_jumps        0.44158194 0.494996934 0.19160715 0.11926829
+
#biplot(pca)
+

It can be seen from the summary that PC1 and PC2 contribute to 58.19% of the variation of the data while PC1, PC2, PC3 and PC4 contribute to 83.74% of the variation of the data.

+

PC1 has comparatively high loading scores for height, weight, abs_acceleration, avg_x and prior. PC2 has comparatively high loading scores for avg_y, fitness, favor, illness, happyness and num_jumps.

+
#library(devtools)
+#install_github("vqv/ggbiplot")
+library(ggbiplot)
+
## Loading required package: plyr
+
## ------------------------------------------------------------------------------
+
## You have loaded plyr after dplyr - this is likely to cause problems.
+## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
+## library(plyr); library(dplyr)
+
## ------------------------------------------------------------------------------
+
## 
+## Attaching package: 'plyr'
+
## The following objects are masked from 'package:dplyr':
+## 
+##     arrange, count, desc, failwith, id, mutate, rename, summarise,
+##     summarize
+
## Loading required package: scales
+
## Loading required package: grid
+
## 
+## Attaching package: 'ggbiplot'
+
## The following object is masked from 'package:ggfortify':
+## 
+##     ggbiplot
+
#ggbiplot(pca)+ylim(-2,2)+xlim(-2,2.5)
+#ggbiplot(pca, labels=DF2$name)+ylim(-2,2)+xlim(-1.5,2.5)
+
+pca_group <- c(rep("Group A", 3), rep("Group B",2), "Group A", rep("Group B",3))
+
+ggbiplot(pca ,ellipse=TRUE, choices = c(1,2),  labels=DF2$name, groups=pca_group)+ylim(-2,2)+xlim(-1.5,2.5)+ labs(title = "PCA Analysis with PC1 and PC2")+ theme_bw()
+

+

Here, we can see that the variables height, weight, abs_acceleration and avg_x all contribute to PC1, with higher values in those variables moving the samples to the right on this plot.

+

After specifying Group A and Group B, we find Group A form a distinct cluster to the right. Looking at the axes, we see that Group A are characterized by high values for height, weight, abs_acceleration and avg_x. Group B, on the other hand, are characterized by high values for prior, favor, and num_jumps and high absolute values for avg_y, illness, fitness and happyness.

+

Thus, we conclude: 1. The survey questions does not perfectly separate the group based on novices and experts that both novices and experts have some characteristics that are in the same cluster. 2. However, it is interesting to see that Vidya and Paolo are in the same cluster whom are both categorized as novices based on the K-mean. It might because they have some similarities. 2. Kaijie, Hangshi, Paolo, and Vidya are in group A are the taller ones and have higher average weight in our group. It might because of these facts that make them have higher absolute value of acceleration during the activity. 3. Xiyun, Yifei, Wenning, Qiyu, and Ruoyi are in group B. This group have an overall higher number of jumps. Based on the graph, we might conclude that with more prior experience with jumping ropes and more favor in doing this activity might lead to a higher number of jumps. 4. Another interesting thing here is that though Ruoyi is categorized as a novice and based on the survey question, she jumped 73 times during 1-minuets, she has similar prior experience and favor with the others who are defined as experts. This means that she might be an outlier in the novices group. 5. Another thing that brings to an attention is that fitness has not been counted as a significant value in the PCA plot.

+
ggbiplot(pca ,ellipse=TRUE, choices = c(3,4), labels=DF2$name, groups=pca_group)+ylim(-2,2)+xlim(-1.5,2.5)+ labs(title = "PCA Analysis with PC3 and PC4")+ theme_bw()
+
## Warning: Removed 1 rows containing missing values (geom_text).
+
## Warning: Removed 28 row(s) containing missing values (geom_path).
+

We don’t see much insights of Groups with PC3 and PC4 because they overlapped heavily.

+
+ + + + +
+ + + + + + + + + + + + + + + diff --git a/Jump Rope Research.csv b/Jump Rope Research.csv new file mode 100644 index 0000000..60150a8 --- /dev/null +++ b/Jump Rope Research.csv @@ -0,0 +1,12 @@ +StartDate,EndDate,Status,IPAddress,Progress,Duration (in seconds),Finished,RecordedDate,ResponseId,RecipientLastName,RecipientFirstName,RecipientEmail,ExternalReference,LocationLatitude,LocationLongitude,DistributionChannel,UserLanguage,Q1,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12 +Start Date,End Date,Response Type,IP Address,Progress,Duration (in seconds),Finished,Recorded Date,Response ID,Recipient Last Name,Recipient First Name,Recipient Email,External Data Reference,Location Latitude,Location Longitude,Distribution Channel,User Language,Your Name,Age,Gender,Your Height (cm) -- please type the number only,Your Weight(kg) -- please type the number only,Rate your overall fitness on a scale of 1- 5(1. Poor 2. Fair 3. Good 4. Very good 5. Excellent),"Do you like rope jumping? (1 being you do not like it much, 5 being like it very much)",Do you have prior experience of jumping rope? ( 1 being you do not have much experience and 5 being you have a lot of experience ),How much does your physical/other illness affect your ability to jump rope (0 being you have no,"On a scale of very happy (being 1) to very sad (being 5), what would you rate your mood before starting rope jumping?",Did you jump ropes in the ____,How long before jumping rope did you have your last meal?,"How many times were you able to jump in 1 minute, while the data was collected?(Please mention your mental count of jumps, not from the data)" +"{""ImportId"":""startDate"",""timeZone"":""America/Denver""}","{""ImportId"":""endDate"",""timeZone"":""America/Denver""}","{""ImportId"":""status""}","{""ImportId"":""ipAddress""}","{""ImportId"":""progress""}","{""ImportId"":""duration""}","{""ImportId"":""finished""}","{""ImportId"":""recordedDate"",""timeZone"":""America/Denver""}","{""ImportId"":""_recordId""}","{""ImportId"":""recipientLastName""}","{""ImportId"":""recipientFirstName""}","{""ImportId"":""recipientEmail""}","{""ImportId"":""externalDataReference""}","{""ImportId"":""locationLatitude""}","{""ImportId"":""locationLongitude""}","{""ImportId"":""distributionChannel""}","{""ImportId"":""userLanguage""}","{""ImportId"":""QID17_TEXT""}","{""ImportId"":""QID9_TEXT""}","{""ImportId"":""QID8""}","{""ImportId"":""QID6_TEXT""}","{""ImportId"":""QID7_TEXT""}","{""ImportId"":""QID12""}","{""ImportId"":""QID1""}","{""ImportId"":""QID13""}","{""ImportId"":""QID14""}","{""ImportId"":""QID15""}","{""ImportId"":""QID11""}","{""ImportId"":""QID10""}","{""ImportId"":""QID16_TEXT""}" +2020-12-06 18:14:47,2020-12-06 18:26:12,IP Address,13.94.56.150,100,685,True,2020-12-06 18:26:13,R_24CqAA5JoBFSPxR,,,,,22.2794952392578125,114.14599609375,anonymous,EN,Wenning Xiao,23,Female,166,50,2,3,4,2,3,Morning (6 am - 12pm),more than 2 hours,100 +2020-12-06 19:51:56,2020-12-06 19:54:01,IP Address,68.252.127.25,100,124,True,2020-12-06 19:54:01,R_29uekjk6eMGw4mP,,,,,32.8594970703125,-117.21240234375,anonymous,EN,Qiyu Wu,23,Female,158,40,3,3,4,1,3,Evening (4 pm - 10 pm),more than 2 hours,130 +2020-12-07 03:35:24,2020-12-07 03:36:21,IP Address,45.130.147.71,100,57,True,2020-12-07 03:36:22,R_3isZnnygJ8l7zbg,,,,,55.7386016845703125,37.6067962646484375,anonymous,EN,Yifei Zhang,22,Female,168,55,3,4,5,1,3,Evening (4 pm - 10 pm),1 hour- 2 hours ago,138 +2020-12-07 04:53:40,2020-12-07 04:55:06,IP Address,60.180.232.178,100,86,True,2020-12-07 04:55:07,R_2YXLvFNReTFbZwe,,,,,27.9983062744140625,120.666595458984375,anonymous,EN,Kaijie Fang,22,Female,172,60,2,3,4,1,3,Evening (4 pm - 10 pm),more than 2 hours,137 +2020-12-07 07:47:21,2020-12-07 07:49:57,IP Address,154.17.6.53,100,156,True,2020-12-07 07:49:57,R_3pnHOMdlFm65d6G,,,,,34.0543975830078125,-118.2440032958984375,anonymous,EN,Xiyun Zhang,23,Female,165,52.5,2,3,4,2,2,Evening (4 pm - 10 pm),30mins-1 hour ago,145 +2020-12-07 22:09:26,2020-12-07 22:10:24,IP Address,115.97.8.145,100,57,True,2020-12-07 22:10:24,R_3Ny87hyaA4d8XsZ,,,,,13.087799072265625,80.27850341796875,anonymous,EN,Vidya Madhavan,26,Female,168,65,3,3,2,2,4,Morning (6 am - 12pm),more than 2 hours,120 +2020-12-08 00:20:01,2020-12-08 00:21:24,IP Address,115.234.10.23,100,83,True,2020-12-08 00:21:25,R_33vWzvjtqj6RVLp,,,,,27.9983062744140625,120.666595458984375,anonymous,EN,Hangshi Jin,23,Male,176,71,2,2,2,2,3,Evening (4 pm - 10 pm),more than 2 hours,170 +2020-12-08 22:59:33,2020-12-08 23:05:30,IP Address,107.172.97.122,100,357,True,2020-12-08 23:05:30,R_1jy8L68BN6mDP6t,,,,,37.751007080078125,-97.82199859619140625,anonymous,EN,Ruoyi Wang,23,Female,154,40,3,1,3,3,3,Afternoon (12pm - 4pm),30mins-1 hour ago,73 +2020-12-08 20:36:46,2020-12-09 17:17:59,IP Address,181.64.4.245,100,74472,True,2020-12-09 17:17:59,R_b48MwBVPS6WKCml,,,,,-12.0464019775390625,-77.0428009033203125,anonymous,EN,Paolo Rivas,31,Male,178,83,3,1,1,1,3,Night (10 pm - 6 am),1 hour- 2 hours ago,78 diff --git a/R_cleaning_H5.Rmd b/R_cleaning_H5.Rmd new file mode 100644 index 0000000..b2ce948 --- /dev/null +++ b/R_cleaning_H5.Rmd @@ -0,0 +1,55 @@ +--- +title: "H5_data_cleaning" +author: "Paolo Rivas" +date: "12/11/2020" +output: html_document +--- + +## Data Cleaning H5 +Here we have two mayor problems. The first one, there are different amounts of data points per users. Second, our time variable is shown as a character with an excesive ammount of milliseconds. None of those are useful for a uniform measurement. + +Stept 1: import Dataframe an summarize information + +```{r} + +library(tidyverse) + +DF <- read_csv("~/Documents/raw_data_H5_all.csv") +summary(DF) + +``` +Step 2: transform time(s) into timeframe data. +```{r} +class(DF$`Time (s)`) +``` +```{r} +#this format works for formating time correctly into seconds and milliseconds +t <- 0.00250; +t2<- format(as.POSIXct(t, origin = "2020-01-12", tz = "America/chicago"), "%H:%M:%OS3") +class(t2) +#Now lets format this new character into time +install.packages("chron") +library(chron) +x <- chron(times=t2) +class(x) + +#### Now lets do it for our data + +t3 <- format(as.POSIXct(DF$`Time (s)`, origin = "2020-01-12", tz = "America/New_York"), "%H:%M:%S") +DF$time_formated <- chron(times=t3) +class(DF$time_formated) #We have a time daframe! +``` +## Now, lets create time average dplyr with a double group_by + +```{r} +library(dplyr) +DF_clean <- DF %>% + group_by(Participant, time_formated) %>% + summarise(avg_x = mean(`Acceleration x (m/s^2)`),avg_y = mean(`Acceleration y (m/s^2)`), avg_z = mean(`Acceleration z (m/s^2)`) ) + +``` +## Exporting the data to CSv +```{r} +write.csv(df, "Clean_data_H5.csv") +``` +