package Ġcom . github . j om of . k ane Ċ Ċ import Ġcom . github . j om of . k ane . api . Row Ċ import Ġcom . github . j om of . k ane . impl . force Sheet Instantiation Ċ import Ġcom . github . j om of . k ane . impl . to Sheet Ċ import Ġorg . junit . Test Ċ import Ġkotlin . random . Random Ċ Ċ class ĠSequence Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsingle Column Csv Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġcolumn ĊĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠĠ 2 ĊĠĠĠĠĠĠĠĠ 3 ĊĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġorigin Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġsingle Column Csv , ĊĠĠĠĠĠĠĠ Ġread Csv (" data / single - column . csv "), ĊĠĠĠĠĠĠĠ Ġread Csv (" data / single - column - d ollar s . csv "), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval ĠSequence < Row >. vari ations : ĠList < Sequence < Row >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrop ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrop ( 1 ). take ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake ( 2 ). drop ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsh uffled (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsample ( n Ġ= Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsample ( fraction Ġ= Ġ 0 . 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhead ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtail ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistinct (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ{ Ġrow Ġ-> Ġrow . row Ordinal Ġ== Ġ 1 Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [" column "], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup By (" column "). iterator (). next (). value ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġvarious Single Column Sequences Ġ= Ġorigin . flatMap Ġ{ Ġit . vari ations Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` dont Ġcheck Ġin Ġforce Sheet Instantiation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġforce Sheet Instantiation . assert String (" false ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrow Ġ-> Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Sheet () ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrow Ġ-> Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Sheet () ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ("") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġtwice Ġco alesce `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrow Ġ-> Ġrow [" a "] Ġ!= Ġ" 1 " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrow Ġ-> Ġrow [" a "] Ġ!= Ġ" 5 " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Sheet () ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġbut Ġkeep Ġrow Ġnames `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcsv Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 , 5 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcsv . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcsv . to Sheet (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcsv . toList (). to Sheet (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcsv . toList (). filter Ġ{ Ġrow Ġ-> Ġrow [" a "] Ġ!= Ġ" 3 " Ġ}. to Sheet (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġcsv ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrow Ġ-> Ġrow [" a "] Ġ!= Ġ" 3 " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Sheet () ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsh uffled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsh uffled Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 , 5 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ). sh uffled ( Random ( 7 )) ĊĠĠĠĠĠĠĠ Ġsh uffled . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 5 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdrop () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ). drop ( 1 ) ĊĠĠĠĠĠĠĠ Ġsheet . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtake () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ). take ( 1 ) ĊĠĠĠĠĠĠĠ Ġsheet . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 Ġ 2 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` drop Ġtake `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa , b ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ). drop ( 1 ). take ( 1 ) ĊĠĠĠĠĠĠĠ Ġsheet . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġb ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 3 Ġ 4 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` index Ġby Ġcolumn Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 , c 2 , c 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 , 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 , 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" c 1 ", Ġ" c 3 "]. assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ[ A ] Ġc 3 Ġ[ B ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------ Ġ------ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 7 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 8 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 5 ĠĠĠĠĠĠ 9 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` index Ġby Ġcell `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 , c 2 , c 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 , 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 , 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" A 1 "]. assert String (" 1 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` index Ġinto Ġsheet `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 , c 2 , c 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 , 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 , 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" A 1 "]. assert String (" 1 ") ĊĠĠĠĠĠĠĠ Ġsheet [" B 2 "]. assert String (" 4 ") ĊĠĠĠĠĠĠĠ Ġsheet [" N 1 2 "]. assert String (" null ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` summary Ġof Ġcolumn `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 , c 2 , c 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 , 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 , 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" c 1 "]. assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ[ A ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" c 1 "]. to Sheet (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ[ A ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" c 1 "]. describe (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 ĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠ Ġcount ĠĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠNaN ĠĠĠĠĠĠĠ 0 ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġmean ĠĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin ĠĠĠĠĠĠĠ 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 5 % ĠĠĠĠĠĠĠ 1 ĠĊĠĠĠĠĠĠĠĠĠ Ġmedian ĠĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ 7 5 % ĠĠĠĠĠĠĠ 5 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax ĠĠĠĠĠĠĠ 5 ĠĊĠĠĠĠĠĠĠ Ġvariance ĠĠĠĠĠĠĠ 4 ĠĊĠĠĠĠĠĠĠĠĠĠ Ġst dev ĠĠĠĠĠĠĠ 2 ĠĊĠĠĠĠĠĠĠ Ġskew ness ĠĠĠĠĠĠĠ 0 ĠĊĠĠĠĠĠĠĠ Ġkur tos is ĠĠĠ Ġ- 1 . 5 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcv Ġ 0 . 6 6 6 6 7 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġsum ĠĠĠĠĠĠĠ 9 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġc 1 Ġ= Ġsheet [" c 1 "]. to Sheet () ĊĠĠĠĠĠĠĠ Ġc 1 . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ[ A ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠ 3 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 5 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġc 1 . describe (). to Sheet (). filter Ġ{ Ġ"$ it " Ġ== Ġ" mean " Ġ}. assert String (" 3 ") ĊĠĠĠĠĠĠĠ Ġc 1 . describe (). filter Ġ{ Ġ"$ it " Ġ== Ġ" mean " Ġ}. assert String (" 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġdescribed Ġ= Ġc 1 . describe (). filter Ġ{ Ġ"$ it " Ġ== Ġ" mean " Ġ} ĊĠĠĠĠĠĠĠ Ġdescribed [" A 1 "]. assert String (" 3 ") ĊĠĠĠĠĠĠĠ Ġmean ( c 1 ). assert String (" 3 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġcase Ġof Ġwrong Ġcolumn Ġcount `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprior Ġ= ĠK ane . metrics . sheet Inst ati ations ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġsheet Of Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa 1 Ġby ĠlistOf ( 1 . 0 , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( a 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ( sheet ) ĊĠĠĠĠĠĠĠ Ġsheet . to Sheet (). assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" A 1 "]. assert String (" 1 ") ĊĠĠĠĠĠĠĠ Ġsheet [" A 2 "]. assert String (" 1 ") ĊĠĠĠĠĠĠĠ Ġ( K ane . metrics . sheet Inst ati ations Ġ- Ġprior ). assert String (" 0 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġcase ĠExcel - like Ġcolumn Ġnames `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprior Ġ= ĠK ane . metrics . sheet Inst ati ations ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 , c 2 , c 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , 4 , 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , 6 , 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet [" A ", Ġ" C "]. assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ[ A ] Ġc 3 Ġ[ B ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ------ Ġ------ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ 7 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 8 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠĠĠĠĠ 5 ĠĠĠĠĠĠ 9 ĠĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ( K ane . metrics . sheet Inst ati ations Ġ- Ġprior ). assert String (" 1 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġcase `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 5 . 3 0 6 1 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Ġby Ġcolumn (" height ") Ġ* Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( extra ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet . filter Ġ{ Ġrow Ġ-> Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ[ A ] Ġextra Ġ[ B ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ--------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠ 4 5 . 3 0 6 1 2 ĠĠĠĠĠ ĠA 1 * 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġformula Ġadjustment Ġin Ġfiltering `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠ 1 5 7 . 5 0 0 5 5 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 2 + 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. assert String ( expected ) ĊĠĠĠĠĠĠĠ Ġsheet (). to Sheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. assert String ( expected ) ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. to Sheet (). assert String ( expected ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected 2 Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. filter Indexed Ġ{ Ġindex , Ġrow Ġ-> Ġindex Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert String ( expected 2 ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġpar ition `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġ( male , Ġfemale ) Ġ= Ġsheet (). partition Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ} ĊĠĠĠĠĠĠĠ Ġmale . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠ 1 5 7 . 5 0 0 5 5 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 2 + 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfemale . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠ 1 7 4 . 0 9 4 1 ĠĠĠĠ Ġfemale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġdistinct `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsheet ()[" gender "]. distinct () ĊĠĠĠĠĠĠĠ Ġresult . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ[ A ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠ Ġmale ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠ Ġfemale ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġlost Ġrow Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected 2 Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. filter Indexed Ġ{ Ġindex , Ġrow Ġ-> Ġindex Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert String ( expected 2 ) ĊĠĠĠĠĠĠĠ Ġsheet (). to Sheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. filter Indexed Ġ{ Ġindex , Ġrow Ġ-> Ġindex Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert String ( expected 2 ) ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. to Sheet (). filter Indexed Ġ{ Ġindex , Ġrow Ġ-> Ġindex Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert String ( expected 2 ) ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. filter Indexed Ġ{ Ġindex , Ġrow Ġ-> Ġindex Ġ== Ġ 1 Ġ}. to Sheet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert String ( expected 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` support , Ġfilter Ġrow Ġand Ġordinal ĠtoString `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] ĠĊĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- ĠĊĠĠĠĠĠĠĠĠ 1 ĠĠ 1 5 7 . 5 0 0 5 5 ĠĠĠĠĠĠ Ġmale ĠĊĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. assert String ( expected ) ĊĠĠĠĠĠĠĠ Ġsheet (). to Sheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. assert String ( expected ) ĊĠĠĠĠĠĠĠ Ġsheet (). filter Ġ{ Ġrow Ġ-> Ġrow [" gender "] Ġ== Ġ" male " Ġ}. to Sheet (). assert String ( expected ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġformula Ġadjustment Ġin Ġindexed Ġfiltering `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet . filter Indexed Ġ{ Ġindex , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ!= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠ 1 5 7 . 5 0 0 5 5 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 2 + 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re pro Ġformula Ġadjustment Ġin Ġchained Ġindexed Ġfiltering `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsheet Ġ= Ġparse Csv ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , gender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 7 . 5 0 0 5 5 3 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 4 . 0 9 4 1 0 4 , female ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 7 . 5 4 0 9 2 0 , male ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ). copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb mi Ġby Ġcolumn (" weight ") Ġ+ Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( b mi ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= Ġsheet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Indexed Ġ{ Ġindex , Ġ_ Ġ-> Ġindex Ġ!= Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Indexed Ġ{ Ġindex , Ġ_ Ġ-> Ġindex Ġ!= Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġfiltered . assert String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ[ A ] Ġgender Ġ[ B ] Ġb mi Ġ[ C ] ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ---------- Ġ---------- Ġ------- ĠĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĠĠ 1 7 7 . 5 4 0 9 2 ĠĠĠĠĠĠ Ġmale ĠĠĠ ĠA 1 + 1 ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` type Ġof Ġvarious Ġsingle Ġcolumn Ġsequences `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvarious Single Column Sequences . forEach Ġ{ Ġseq Ġ-> Ġseq . type Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` iterate Ġvarious Ġsingle Ġcolumn Ġsequences `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvarious Single Column Sequences . forEach Ġ{ Ġseq Ġ-> Ġseq . forEach Ġ{ Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` mean Ġvarious Ġsingle Ġcolumn Ġsequences `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvarious Single Column Sequences . forEach Ġ{ Ġseq Ġ-> Ġmean ( seq ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` html Ġvarious Ġsingle Ġcolumn Ġsequences `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvarious Single Column Sequences . forEach Ġ{ Ġseq Ġ-> Ġseq . html Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` describe Ġvarious Ġsingle Ġcolumn Ġsequences `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvarious Single Column Sequences . forEach Ġ{ Ġseq Ġ-> Ġseq . describe () Ġ} ĊĠĠĠ Ġ} Ċ }