Groepsopdracht 2 inclusief uitleg over Excel en oefenopdrachten Kwantitatieve Onderzoeksmethoden 2022-2023 Auteur: Dr. Kristian Peters Datum: 20 december 2022 Versie: 1.0.1 1 Table of Contents Versie Changelog ...........................................................................................................................................................4 Voorwoord .....................................................................................................................................................................5 Werken met Excel ..........................................................................................................................................................8 Introductie KOM opdracht 2........................................................................................................................................10 Over de Excel file .....................................................................................................................................................10 Relevante Variabelen ...............................................................................................................................................11 Globaal overzicht van de stappen in deze opdracht ...............................................................................................11 Deadlines .................................................................................................................................................................13 Gedetailleerde Opdrachtbeschrijving Opdracht 2 .......................................................................................................13 Stap 1: Voorbereiden van dataset ...........................................................................................................................13 Stap 1a –Timestamp omzetten ............................................................................................................................13 Stap 1b – Gegevens uit 2020 koppelen aan de vragenlijst met de INDEX & MATCH functie ..............................14 Stap 1c – Gegevens opschonen ...........................................................................................................................17 Stap 2: Beschrijvende Statistiek ...............................................................................................................................19 Stap 2a: “Beschrijvende statistiek” ......................................................................................................................19 Stap 2b: “Frequentietabel en histogram” ............................................................................................................19 Stap 2c: “Pivot table” ...........................................................................................................................................19 Stap 2d: “Jittered Grouped scatterplot” ..............................................................................................................19 Oefenopdrachten bij Opdracht 2.................................................................................................................................21 A. Oefenopdracht UNIX TIMESTAMPS omzetten ...............................................................................................21 B. Oefenopdracht CSE-formules .........................................................................................................................24 C. Oefenopdracht BOOLEAN LOGICA met CSE-formules ....................................................................................29 D. Oefenopdracht De INDEX en MATCH FUNCTIE ..............................................................................................33 E. Oefenopdracht BESCHRIJVENDE STATISTIEK ..................................................................................................38 F. Oefenopdracht FREQUENTIETABEL ................................................................................................................40 F2. Oefenopdracht Pivot table .................................................................................................................................43 2 G. Oefenopdracht JITTERED GROUPED SCATTERPLOT .......................................................................................49 3 Versie Changelog In deze sectie staan de wijzigingen ten opzichte van de vorige versies van dit document, bijgehouden vanaf versie 1.0.1: Versie 1.0.1 aanpassingen - Verduidelijking toegevoegd over het gebruik van de punt als decimaalscheider (en de komma voor het scheiden van duizenden) 4 Voorwoord In het vak Kwantitatieve Onderzoeksmethoden staat het analyseren van kwantitatieve data centraal, en voor opdracht 1 heb je SPSS gebruikt. SPSS is net zoals andere statistische software (bijvoorbeeld STATA) speciaal gemaakt om statistische analyses uit te voeren op datasets. Maar er zijn ook programma’s, zoals Excel, waarmee je naast statistische analyses ook allerlei andere type databewerkingen, berekeningen en visualisaties kunt uitvoeren. In verschillende vakken binnen de studie Bedrijfskunde heb je ook al met Excel moeten werken, zoals in de vakken Statistiek en Management Science. En ook in deze tweede opdracht van Kwantitatieve Onderzoeksmethoden ga je weer met Excel aan de slag. Je gaat weer een aantal nieuwe formules en skills leren. Excel is het rekenbladprogramma (spreadsheet) van Microsoft. Het is een van de meest gebruikte en meest populaire rekenprogramma’s ter wereld. Excel maakt gebruik van overzichtelijke rekenbladen, een hele reeks aan formules, en heeft een intuïtieve gebruikersinterface. Deze eigenschappen zorgen ervoor dat Excel niet alleen een heel krachtig rekenprogramma is, maar ook nog eens heel gebruiksvriendelijk. Als het over onderzoek doen gaat zie je echter dat je voor bepaalde taken SPSS (of STATA of R) gebruikt en voor andere taken weer Excel. Qua mogelijkheden voor statistische analyses is Excel wat minder geschikt dan de specialistische programma’s zoals SPSS en STATA. Dat heeft te maken met de brede inzetbaarheid van Excel: je kunt er in principe alles mee uitrekenen of analyseren. Maar dat betekent ook dat je voor bepaalde statistische analyses die je met 1 druk op de knop in SPSS kunt draaien, je in Excel een aantal extra (en soms complexe) stappen en handelingen moet doen. Zo kun je beter SPSS gebruiken als je op basis van een relatief ‘kant-en-klare’ dataset een statistische toets zoals de Student-T toets wilt doen of bijvoorbeeld de Cronbach’s Alpha van een set van items wilt berekenen. Dit kan wel in Excel, maar kost meer tijd en is niet altijd even voor de hand liggend. Waarvoor kun je Excel dan gebruiken in onderzoek? Excel is de tool bij uitstek voor de voorbereidende stappen van de data-analyse en voor een eerste verkenning van de data. Bijvoorbeeld voordat je de gegevens van een vragenlijst kunt analyseren in een programma zoals SPSS moet je deze “ruwe” gegevens vaak eerst gereed maken voor de analyse. Bepaalde gegevens staan misschien nog niet op de goede plek of in het verkeerde formaat. Of gegevens kunnen incompleet zijn, of simpelweg fout. We zeggen dan ook vaak dat de dataset eerst ‘opgeschoond’ moet worden. En voor het opschonen van data moet je meestal ook een aantal beschrijvende statistische analyses doen om te data die je in handen hebt gekregen te beoordelen. Bijvoorbeeld door het maken van frequentiediagrammen of een grafieken om outliers mee te herkennen. De meeste van deze taken kun je trouwens ook in SPSS doen, maar de praktijk wijst uit dat dit in Excel meestal veel vlotter er beter gaat. Wat ook beter gaat in Excel is dat je altijd kunt blijven zien welke bewerkingen je op de gegevens hebt uitgevoerd, mits je formules gebruikt. In groepsopdracht 2 gaan jullie daarom Excel gebruiken om 1) gegevens te verwerken en voor te bereiden en op te schonen voor analyses in een programma zoals SPSS, en om 2) gegevens alvast (visueel) te verkennen. Hieronder staan de belangrijkste verschillen ten opzichte van groepsopdracht 1 op een rijtje: 5 In tegenstelling tot groepsopdracht 1 doorloop je in groepsopdracht 2 wel de eerste stap van de data-analyse “Stap 1: voorbereiden van de dataset” (zie onderdeel E van de KOM syllabus) en deze stap voer je uit in Excel. Ook stap 2 van de data-analyse (zie onderdeel E van de KOM syllabus) voer je uit in Excel. De overige data-analyse stappen slaan we over in groepsopdracht 2. Je hoeft dus niet meer met SPSS te werken. Iedere opdrachtengroep krijgt een nieuwe unieke dataset aangeleverd in een Excel bestand voor een groep respondenten variërend tussen de 250 en 500. Deze dataset komt uit een fictieve onderzoeksdatabase. Deze database bevat een groot aantal gegevens. De voor groepsopdracht 2 relevante gegevens zitten door elkaar gehusseld in deze database. Gegevens in de database zijn gemeten op verschillende tijdstippen, en lang niet alle gegevens zijn relevant of correct voor groepsopdracht 2. Zo zitten er ook gegevens tussen van personen die niet relevant zijn voor het onderzoek in groepsopdracht 2. Je moet de gegevens dus eerst voorbereiden en opschonen Uiteindelijk zijn voor groepsopdracht 2 maar een beperkt aantal variabelen uit de aangeleverde onderzoeksdatabase van belang: “respondent_ID”, “x”, “y”, “leeftijd”, “type”, “geslacht” en “timestamp” (de laatstgenoemde variabele moet eerst opgezet worden in een jaartal). Nadat je de gegevens hebt voorbereid en opgeschoond, vragen we je een aantal beschrijvende analyses te doen in Excel In plaats van een compleet verslag van het onderzoek en de resultaten van de analyse zoals bij groepsopdracht 1 lever je voor groepsopdracht 2 op Brightspace alleen het Excel bestand in waarin je data-analyse stappen 1 en 2 (zie onderdeel E van de syllabus) van deze opdracht hebt uitgevoerd. In dit document zijn ook weer een aantal oefenopdrachten (zie onder) beschikbaar met uitgebreide uitleg over Excel en voorbeelden die sterk overeenkomen met groepsopdracht 2. Het maken van deze oefenopdrachten stelt je in staat om groepsopdracht 2 succesvol af te ronden. Voor elke oefenopdracht is er ook een video beschikbaar op Brightspace. Zie hiervoor Week 6 op Brightspace “Excel videos bij oefenopdrachten” Indicaties van de tijdsduur en moeilijkheidsgraad van de oefenopdrachten (zie volgende pagina) * relatief weinig tijd nodig om te maken / relatief eenvoudig ** in het midden qua tijdsduur / niet gemakkelijk, maar wel te doen *** relatief veel tijd nodig om te maken / relatief moeilijk 6 Oefenopdracht Tijdsduur Moeilijkheidsgraad A) UNIX timestamp omzetten ** * B) CSE-formules ** ** C) BOOLEAN-logic ** ** D) INDEX & MATCH functie *** *** E) Beschrijvende statistiek * * F) Frequentietabel ** * F2) Pivot table ** ** G) Jittered Grouped Scatterplot *** *** 7 Werken met Excel In deze opdrachtbeschrijving en de verschillende oefenopgaven gaan we er van uit dat: Je werkt met Excel 2016, zoals beschikbaar op https://uwp.rug.nl, of latere versies van Excel. Je werkt met de Engelstalige versie van Excel. Engels is de standaardtaal van Excel 2016 op https://uwp.rug.nl. Dit is belangrijk omdat we in de uitleg van dit document de Engelse functies gebruiken en refereren naar de menuknoppen en -balken van Excel in het Engels. Als je nu nog met de Nederlandse versie werkt kun je dit zelf veranderen in een Engelse versie, zie voor uitleg Windows hier en voor Mac hier (zie de instructies bij MacOS User Interface). Wij bieden in principe geen ondersteuning aan als het switchen niet lukt. Je kunt namelijk altijd de Engelstalige Excel versie op https://uwp.rug.nl gebruiken (als je deze ooit eens zelf hebt omgezet naar Nederlandstalig dan moet je het weer terugzetten naar Engels, zie hier voor instructies). Je werkt met de punt als decimaalscheider, dus het getal π schrijf je afgerond op vijf decimalen als 3.14159, en niet met een komma’s zoals 3,14159, zoals gebruikelijk is in een Nederlandse installatie van Excel. Zorg er ook voor dat de komma wordt gebruikt voor het scheiden van duizenden. Dus bijvoorbeeld 9,999.99 euro. Werkt jouw Excel versie wel met komma’s als decimaalscheider en punten als “thousands separator”, dan kun je dit aanpassen in de instellingen van Excel, zie voor instructies Windows hier. Op je Mac kun je dit niet aanpassen binnen Excel zelf en zou je het in principe moeten kunnen instellen via de taal en regio eigenschappen via de System Settings van je MacBook (zie ook hier). Als je toch met de komma als decimaalscheider en de punt als duizendscheider blijft werken moet je zelf rekening houden dat er in dit document en de uitlegvideo’s alleen met punten als decimaalscheiders wordt gewerkt. Eventuele gemaakte fouten of onduidelijkheden hierdoor worden dan ook niet als geldig excuus gezien. Je weet hoe je de Data Analysis Toolpak installeert als je dat nog niet gedaan hebt. De Data Analysis Toolpak heb je reeds moeten gebruiken in het vak Statistiek en in dat vak is ook uitgelegd hoe je deze module activeert in Excel. Zie hier voor de officiële uitleg van Microsoft. In deze opdracht en oefenopdrachten is bij gebruik van de bovengenoemde Data Analysis Toolpak belangrijk om geen spaties en geen liggende streepjes (“-”) in zowel bestandsnamen als worksheetnamen te gebruiken als je een bestand onder een andere bestandsnaam dan de originele bestandsnaam opslaat. Het gebruik van spaties en liggende streepjes kan er voor zorgen dat Excel niet meer goed werkt. Een underscore (“_”) mag je wel gebruiken. Na het downloaden en openen van de Excel bestanden die bij deze groepsopdracht en de verschillende oefenopdrachten horen kun je onderstaande “PROTECTED VIEW” waarschuwing te zien krijgen in Excel. Je kunt voor deze bestanden veilig op de “Enable Editing” knop klikken. Dit is ook noodzakelijk om de opdrachten te maken en gebruik te maken van de 8 functionaliteiten van Excel. Zoals altijd is het verstandig regelmatig het Excel document op te slaan, eventueel met opeenvolgende versies in de bestandsnaam (via Save As of Opslaan als…) zodat je altijd weer terug kunt naar een eerdere versie. Uiteindelijk lever je als opdrachtengroep op Brightspace wel één bestand in waarin alle stappen van de groepsopdracht zijn uitgewerkt. 9 Introductie KOM groepsopdracht 2 Als vervolg op het onderzoek van opdracht 1 heeft een professor van FEB een nieuwe hypothese ontwikkeld over het verband tussen twee variabelen, die we “x” en “y” noemen. De precieze formulering en inhoud van de hypothese doet er in deze opdracht niet toe. De professor gaat zelf de statistische analyses draaien. Hij vraagt jullie echter om de dataset voor deze analyses voor te bereiden, op te schonen en alvast te verkennen in Excel. De gegevens voor dit onderzoek zijn al verzameld door een extern onderzoeksbureau. De professor heeft met dit onderzoeksbureau een samenwerkingsovereenkomst afgesloten en zij heeft een selectie gemaakt van personen over wie dit bureau gegevens heeft verzameld. Het onderzoeksbureau heeft daarna de database waarin de gegevens zijn opgeslagen opgestuurd. Het bureau heeft al aangegeven dat er in de dataset meer gegevens staan dan eigenlijk nodig zijn. Zo zijn er gegevens over dezelfde persoon van meerdere jaren, terwijl de professor alleen geïnteresseerd is in gegevens uit één bepaald jaar. Ook staan er gegevens in de database van personen die de professor van tevoren niet heeft geselecteerd. Bovendien sluit het bureau niet uit dat sommige gegevens mogelijk ontbreken of foutief zijn. Kortom, de dataset moet eerst flink worden voorbereid en opgeschoond alvorens de professor er mee aan de slag kan in SPSS. OVER DE EXCEL FILE Via je werkgroepbegeleider krijg je het Excel bestand met daarin de bovengenoemde unieke database. In dit Excel bestand staan drie worksheets klaar: “teaminfo”, “respondenten” en een “<unieke database naam” (naam van de database verschilt voor ieder opdrachtengroepje). Lees de onderstaande details over het aangeleverde Excel bestand goed door en ga ook na of de gegevens in het Excel bestand dat je krijgt kloppen. Als er iets niet lijkt te kloppen neem dan meteen contact op met je werkgroepbegeleider. 1. Worksheet “teaminfo”: in dit worksheet staan een aantal basisgegevens: informatie voor wie de gegevens bestemd is en de naam van je werkgroepbegeleider. Belangrijk: controleer of deze gegevens kloppen. Verder staat er het aantal respondenten dat de professor heeft geselecteerd voor het onderzoek, het jaartal waarin de gegevens geanalyseerd moeten worden, het epoch jaartal van de timestamps (wordt later nog uitgelegd), en de unieke naam van de database. 2. Worksheet “respondenten”: in dit worksheet vind je de unieke respondentidentifiers voor de personen die van tevoren zijn geselecteerd door de professor. Belangrijk: controleer of het aantal respondenten in de lijst overeenkomst met het aantal dat staat opgegeven in worksheet “teaminfo”. 3. Worksheet met unieke database naam: in dit worksheet vind je de database. De database heeft een unieke naam die je kunt vinden in worksheet “teaminfo” en als titel van dit worksheet. Je 10 kunt snel zien dat er inderdaad veel (!) meer gegevens in staan dan dat je nodig hebt. Vergelijk bijvoorbeeld het aantal respondenten dat opgegeven staat in “teaminfo” en het aantal rijen in de database. Of het aantal variabelen in de database in vergelijk met de onderstaande lijst van variabelen die relevant zijn voor dit onderzoek. RELEVANTE VARIABELEN De variabelen in de database die je nodig hebt voor deze opdracht zijn “respondent_ID”, “variabele_***_x”, “variabele_***_y”, “leeftijd”, “type”, “geslacht” en “timestamp”. Op de *** staat een uniek getal die aan de oorspronkelijke database is toegewezen. Na overleg met de professor stel je de volgende eigenschappen en eisen over de variabelen in de database vast: “Respondent_ID” is een unieke identifier waarmee individuele respondenten kunnen worden herkend “Variabele_***_x” en “variabele_***_y” zijn de variabelen die onderzocht worden in de hypothese van de professor. Beide variabelen moeten positieve getallen zijn. Als er negatieve getallen in de dataset staan bij “variabele_***_x” en “variabele_***_y” dat moeten ze als foutieve data worden beschouwd. “Leeftijd” is een positief geheel getal groter dan 0. “Type” is een geheel getal tussen 1 en 10 “Geslacht” is man, vrouw of “-” wat betekent dat het geslacht niet ingevuld is. “Timestamp” is een getal waarmee het moment (datum en het tijdstip) van een bepaalde datainvoer, dat wil zeggen één rij in de datebase, is opgeslagen. Door middel van een berekening en het opgegeven “epoch” van de timestamp kun je aan de hand van dit getal bepalen uit welk jaar de datainvoer komt. Zoals je kunt zien in het Excel bestand met de database gegevens staan er nog veel meer variabelen in de database dan in het bovenstaande rijtje. Variabelen in de database die hierboven niet genoemd staan kun je dus negeren. GLOBAAL OVERZICHT VAN DE STAPPEN IN DEZE GROEPSOPDRACHT Voordat de professor met bovenstaande variabelen statistische analyses kan draaien in SPSS moeten jullie de volgende stappen doorlopen (de gedetailleerde uitleg per stap vind je verderop): Stap 1a: Alle timestamps omzetten in normale jaren aan de hand van het opgegeven “epoch” van de timestamp. Stap 1b: De gegevens uit de database koppelen aan de geselecteerde respondenten in worksheet “respondenten” waarbij het belangrijk is dat alleen gegevens gekoppeld worden uit het relevante jaar voor het onderzoek. 11 Stap 1c: Controleren of er ook negatieve waardes zijn voor “variabele_***_x” en “variabele_***_y” bij de geselecteerde respondenten. Zo ja, de opgeschoonde en foutieve data scheiden op aparte twee worksheets door middel van filteren en copy-paste. Stap 2a: Een overzicht genereren met beschrijvende statistiek voor de variabele “leeftijd” op basis van de opgeschoonde gegevens Stap 2b: Een frequentietabel en histogram genereren voor de variabele “leeftijd” op basis van de opgeschoonde gegevens Stap 2c: Een pivot table genereren waarmee je inzichtelijk maakt wat het gemiddelde van de variabele “leeftijd” is gegeven twee groepsvariabelen: “type” en “geslacht” op basis van de opgeschoonde gegevens Stap 2d: Een jittered grouped scatterplot maken voor “variabele_***_x” en “variabele_***_y” op basis van de opgeschoonde gegevens In deze opdracht werk je zoals gezegd alleen in Excel (je hebt SPSS niet nodig), en doorloop je ook alleen de eerste twee data-analyse stappen zoals in deel E van de KOM syllabus beschreven (stappen 1a t/m 1c van opdracht 2 betreffen de datavoorbereiding en opschoning, en stappen 2a t/m 2d betreft de verkenning van de data). Voor elke stap kun je een aantal punten verdienen, zie de tabel hieronder en daar weer onder voor de berekening. Om je een indicatie te geven hoeveel tijd en hoe zwaar de verschillende onderdelen van de groepsopdracht zijn bieden we hieronder ook indicaties van de tijdsduur en moeilijkheidsgraad aan. Merk op dat het zwaartepunt, zowel qua tijd als moeilijkheidsgraad, in stappen 1b en 2d ligt. Houdt er ook rekening mee dat je relatief veel tijd zult nodig hebben voor het maken van de oefenopdrachten ter voorbereiding op deze opdracht (zie vorige hoofdstuk voor tijdsindicaties). De tijd die je in de oefenopdrachten investeert, betaalt zich echter wel dubbel en dwars uit bij het maken van groepsopdracht 2. Indicaties van de tijdsduur en moeilijkheidsgraad van de onderdelen van Groepsopdracht 2 * relatief weinig tijd nodig om te maken / relatief eenvoudig ** in het midden qua tijdsduur / niet gemakkelijk, maar ook niet te moeilijk *** relatief veel tijd nodig om te maken / relatief moeilijk Stap Tijdsduur Moeilijkheidsgraad Maximaal te behalen punten1 Stap 1a) Timestamp omzetten * * 9 Stap 1b) INDEX & MATCH formule gebruiken ** *** 18 Stap 1c) Data opschonen * ** 9 Stap 2a) Beschrijvende statistiek * * 4.5 Stap 2b) Frequentietabel en histogram * * 6.75 Stap 2c) Pivot table ** ** 9 12 Stap 2d) Jittered Grouped Scatterplot 1 *** *** 18 in totaal kun je 74.25 punten verdienen. Het cijfer voor opdracht 2 wordt berekend als volgt: 𝑐𝑖𝑗𝑓𝑒𝑟 𝑜𝑝𝑑𝑟𝑎𝑐ℎ𝑡 2 = 𝑎𝑎𝑛𝑡𝑎𝑙 𝑔𝑒ℎ𝑎𝑎𝑙𝑑𝑒 𝑝𝑢𝑛𝑡𝑒𝑛 8.25 +1 DEADLINES Deadline Week 51 (voorafgaand aan werkgroep) Vrijdag 13/1 10.00u Wat Oefenopdrachten A t/m G Begin maken met Groepsopdracht 2 Eindversie Groepsopdracht 2 Waar Thuis oefenvragen maken en groepsopdracht 2 doornemen en eventueel begin mee maken; vragen en problemen noteren en bespreken tijdens de werkgroep Verplicht: Uploaden via Brightspace Gedetailleerde Opdrachtbeschrijving Opdracht 2 Deze opdracht bestaat uit de eerste twee stappen van de data-analyse methodiek zoals uitgelegd in de KOM syllabus. Elk stap kent een aantal tussenstappen. STAP 1: VOORBEREIDEN VAN DATASET Stap 1 bestaat uit drie tussenstappen, Stap 1a, Stap 1b en Stap 1c. Elke stap wordt eerst geintroduceerd. Daarna volgen de details voor het maken van de opdracht. Stap 1a –Timestamp omzetten In opdracht 2 werk je zoals gezegd met een database met te veel gegevens. Eén van de problemen is dat er gegevens in staan die gemeten zijn in verschillende jaren, terwijl de professor alleen kan werken met gegevens uit één bepaald jaartal. Een ander probleem is dat de database die je hebt gekregen geen jaartallen bevat maar timestamps. Je kunt de timestamps vinden in het Excel bestand met de databasegegevens waar één van de kolommen “timestamp” heet. Dus voordat je het juiste jaartal kunt selecteren moet je eerst de timestamps omzetten in voor de mens begrijpelijke jaartallen. In oefenopdracht A heb je geleerd hoe je met Excel een bepaalde type timestamp, de zogenaamde UNIX timestamp, kunt omzetten naar een begrijpelijk jaartal. Bij een UNIX timestamp speelt de datum 1-11970 een belangrijke rol. Dat is namelijk de datum waarop de UNIX tijdtelling is begonnen en dit wordt het UNIX epoch genoemd. De databaseleveranier maakt het jullie echter niet gemakkelijk. De leverancier werkt namelijk met een ander epoch, oftewel een ander startjaar van de tijdstelling voor het berekenen van timestamps. Wat het epoch is voor jullie specifieke database kun je vinden in het Excel 13 bestand in worksheet “teaminfo” bij “Start year of timestamp (epoch)” (zie de rode pijl in het figuur hieronder). Nu werkt het omzetten van deze aparte timestamp op dezelfde manier als het omzetten van de UNIX timestamp in Oefenopdracht A. Het enige verschil is dat je in plaats van 1-1-1970 het epoch gebruikt zoals staat vermeld in worksheet “teaminfo”. Dus stel het epoch is 1960 zoals hieronder weergegeven dan gebruik je 1-1-1960. Opdracht stap 1a Maak in worksheet met de databasegegevens een nieuwe kolom. Deze nieuwe kolom noem je “jaartal”. Zet in deze kolom de timestamps om in begrijpelijke jaartallen. In oefenopgave A wordt uitgelegd wat de UNIX timestamp betekent en ook hoe je een UNIX timestamp omzet in een jaartal in Excel. Met de uitleg in oefenopgave A en de basiskennis van Excel die je in de vakken Management Science en Statistiek hebt geleerd moet je in staat zijn alle timestamps in de database om te zetten in normale datums aan de hand van het database-specifieke epoch (zie workheet “teaminfo”). Stap 1b – De juiste gegevens koppelen aan de vragenlijst met de INDEX & MATCH functie Nadat je de timestamps hebt omgezet in normale, begrijpelijke jaartallen moet je ervoor zorgen dat je alleen je de relevante variabelen koppelt aan de geselecteerde respondenten in worksheet “respondenten”. Het overzicht met relevante variabelen is een paar pagina’s terug al besproken. In het kort gaat het om de volgende variabelen uit de database: “Variabele_***_x”, “variabele_***_y”, “Leeftijd”, “Type”, “Geslacht”, en na stap 1a de nieuwe variabele “Jaartal” (i.e., de omgezette timestamp). 14 Zoals eerder aangegeven kan de professor alleen maar werken met gegevens uit een bepaald jaar. Welk jaar dit is kun je vinden in het Excel bestand in worksheet “teaminfo” bij “Relevant year for assignment” (zie de blauwe pijl in het figuur hieronder). Dit jaartal verschilt per databestand en ligt tussen 2014 en 2022. Opdracht stap 1b Voor deze stap willen we dat jullie gebruik maken van de gecombineerde INDEX en MATCH functie in Excel waarmee je twee vliegen in één klap gaat vangen. Een correcte functie zorgt er voor dat: 1) Alleen de gegevens uit het relevante jaar (zie boven) voor de relevante variabelen uit de database (zoekvoorwaarde 1), én 2) Dat alleen deze databasegegevens bij de juiste respondenten in worksheet “respondenten” komen te staan (zoekvoorwaarde 2). Maak hiervoor in worksheet “respondenten” nieuwe kolommen aan voor alle hierboven genoemde relevante variabelen en geef deze kolommen dezelfde naam als in de database. Worksheet “respondenten” ziet er daarna als volgt uit: 15 Om deze gecombineerde functie verder compleet te maken en juist toe te passen dien je eerst oefenopdrachten B, C en D te hebben gemaakt. In die oefenopdrachten leggen we stap voor stap uit hoe je met CSE formules, BOOLEAN logica, en tenslotte de MATCH en INDEX functies in Excel werkt. Zonder het maken van deze oefenopdrachten zal het voor veel opdrachtengroepjes heel moeilijk zijn, en waarschijnlijk zelfs onmogelijk om deze stap succesvol uit te voeren. Nog een paar tips: Vergeet niet elke elke keer bij het invoeren van de INDEX en MATCH functie ctrl-shift-enter te gebruiken (zie ook oefenopdrachten B, C en D voor uitleg over de CSE-formule). Ook elke keer als je de formule hebt aangepast, moet je opnieuw de formule bevestigen met ctrl-shift-enter! Hak je de formule op in twee stukken? Dan hoef je alleen het MATCH gedeelte met ctrl-shift-enter invoeren, zie ook onderstaand kader. Om overzicht te houden is het soms handig de fomules in stukjes op te hakken. Zo zou je net zoals in oefenopdracht D eerst het MATCH gedeelte kunnen uitrekenen (let wel, invoeren als CSE-formule, zie ook oefenopdrachten B, C en D) om de positie (relatieve rijnummer) van de juiste waarde in de database te vinden, en daarna de INDEX formule uitrekenen (hoeft niet als CSE-formule ingevoerd te worden) om de bijbehorende waarde in de database te geven. Je verwijst dan in de INDEX formule bij row_num naar de cel waarin de uitkomst van de MATCH formule staat. LET OP: Voor het lookup_array gedeelte (BOOLEAN logica) in de MATCH formule gaat het verder ophakken van de formule echter niet lukken. Je moet dus de gehele MATCH formule in één keer gebruiken en met ctrl-shift-enter invoeren. De onderstaande twee kaders geven nog wat extra achtergrondinformatie over het gebruik van de INDEX en MATCH functie. “Waarom moeten we uberhaupt de INDEX en MATCH functie gebruiken? Waarom niet simpelweg de jaartallen sorteren of filteren en daarna de goede jaartallen selecteren en die koppelen aan de respondenten bijvoorbeeld met een VLOOKUP formule?” De gegevens uit het gevraagde jaartal filteren/sorteren, selecteren en kopieren lijkt misschien wel het gemakkelijkste en het snelste, maar het kan op een later moment juist meer werk of problemen opleveren. Want wat als je op een gegeven moment wel geïnteresseerd bent in de gegevens uit een andere jaar, maar je hebt de data uit die jaren al weggegooid? Of het blijkt dat je ergens een fout hebt gemaakt bij het verwerken van de gegevens, bijvoorbeeld bij het omzetten van de timestamps, waardoor je nu ook data uit het het relevante jaartal mist. De statististische analyses zullen door die fout niet kloppen. Misschien heb je wel een backup gemaakt, maar dan kun je alles weer opnieuw doen wat weer veel extra werk is enzovoort. De bovenstaande redenen en voorbeelden pleiten ervoor om zo veel en zo vaak mogeijk Excel functies te gebruiken die zorgen dat de originele gegevens intact worden gelaten en waardoor je ook 16 in de toekomst terug kunt vinden hoe je de data hebt verwerkt. Hierdoor kun je gemakkelijker iets controleren of, indien nodig, aanpassen zonder dat je alles weer opnieuw hoeft te doen. Tenslotte: De gecombineerde INDEX en MATCH functie werkt alleen goed als er geen meerdere gegevensrijen voor één respondent binnen een bepaald jaar bestaan. De aangeleverde database voldoet gelukkig aan deze eis. In andere woorden: voor elke respondent is er per jaar precies één rij met gegevens. Stel er zijn wel twee of meer rijen met gegevens per respondent voor een bepaald jaar in de database dan weet Excel niet welke van de verschillende rijen bij één bepaalde repsondent moet worden gebruikt. In de praktijk neemt Excel dan de eerste de beste invoer die het programma tegenkomt, maar dat is natuurlijk niet altijd de juiste. Controleer daarom in de praktijk altijd eerst de gegevens, bijvoorbeeld op dubbele invoer. Ook voor deze controle kun je weer slimme Excel functies gebruiken, maar dat laten we bij deze opdracht buiten beschouwing. Stap 1c – Gegevens opschonen Nadat je in stap 1b de database gegevens aan de geselecteerde respondenten hebt gekoppeld in worksheet “respondenten” is het nu zaak te bekijken of de gegevens van de gekoppelde variabelen overeenkomen met de beschrijving die professor heeft gegeven (zie eerdere subsectie “relevante variabelen” hierboven). Zo staat daar beschreven dat “Variabele_***_x” en “variabele_***_y” positieve getallen moeten zijn. Om te kijken of er waardes tussen zitten die buiten het door de professor gedefinieerde bereik vallen (zie subsectie “relevante variabelen” boven) kun je voor elke relevante variabele een eenvoudige scatterplot maken. Deze scatterplots kun je na inspectie weer verwijderen. Wat je wel moet doen is als je een variabele vindt die niet voldoet aan de eisen, staat in de opdrachtdetails hieronder. Deze stap kun je op basis van je bestaande Excel kennis en de verschillende oefenopdrachten uitvoeren. Mocht het niet gelukt zijn de gegevens uit de database te koppelen aan de juiste respondenten in worksheet “respondenten” volgens de methode bij stap 1b, doe dan het volgende: Maak een nieuwe worksheet aan met de naam “random_respondenten”. Sorteer de rijen in de datebase aflopend op “jaartal”. Selecteer vervolgens een willekeurige selectie van ca. 250 rijen met gegevens uit de database uit het relevante jaartal (alleen de relevante variabelen, zie ook subsectie “relevante variabelen” hierboven) en plak deze in worksheet “random_respondenten”. Werk vervolgens stappen 2a t/m 2d uit aan de hand van de gegevens in worksheet “random_respondenten” ipv worksheet “respondenten_opgeschoond”. 17 Opdracht stap 1c Maak eerst twee nieuwe worksheets aan met de namen “respondenten_opgeschoond” en “foutieve_data”. Controleer vervolgens visueel aan de hand van een eenvoudige scatterplot of elke gekoppelde variabele in worksheet “respondenten” aan de gestelde eisen voldoet (zie ook subsectie “relevante variabelen” hierboven). Deze grafieken zijn puur voor je eigen inzicht en hoef je na inspectie niet op te slaan. Als je ziet dat één of meerdere variabelen niet aan de eisen voldoen moeten die er uitgefilterd worden. Maak hiervoor een nieuwe aparte kolom aan in worksheet “respondenten” en noem die kolom “geldig?” Maak in deze kolom voor de variabelen waarvan je hebt gezien dat ze ongeldige waarden bevatten een IF functie die deze ongeldige waardes er uitfiltert. Voldoen de waardes wel, dan geeft deze IF functie een 1 terug bij deze respondent. Voldoet de waardes van één van de variabelen niet, dan geeft de IF functie een 0 terug. Nadat je deze IF functie bij alle respondenten hebt geplaatst kun je via de autofilter functie eenvoudig de correcte gegevens van de foutieve gegevens scheiden. Klik hiervoor eerst op de cel met de kolomnaam “geldig?” op de 1e rij, ga daarna naar Data in de Excel menubalk en klik daar op Filter. Je ziet nu een dropdown icoontje naast elke kolomnaam staan, zie ook hieronder. Klik op het dropdown icoontje rechts van “geldig?” en selecteer alleen de ongeldige gegevens (0). Nu worden alleen de respondenten weergegeven met foutieve gegevens. Selecteer alle rijen van dit overzicht met foutieve gegevens inclusief de eerst rij met kolomnamen. Kopieer vervolgens deze rijen en plak ze in het nieuwe worksheet “foutieve_data”. (NB. Gebruik hier niet de knippen (cut) functie ipv de kopiëren functie omdat we de originele data in worksheet “respondenten” zoveel mogelijk intact willen laten.) Ga tenslotte weer terug naar worksheet “respondenten”. Filter de gegevens deze keer alleen op geldige data via het filter van “geldig?” (1). Nu worden alle respondenten weergegeven met geldige gegevens. Selecteer vervolgens alle rijen van dit overzicht met geldige gegevens inclusief de eerst rij met kolomnamen en kopieer en plak deze in het nieuwe worksheet “respondenten_opgeschoond”. De correcte en foutieve gegevens zijn nu van elkaar gescheiden. 18 STAP 2: BESCHRIJVEND E STATISTIEK Stap 2 bestaat in deze opdracht uit vier tussenstappen. Je werkt vanaf nu alleen nog maar met de gegevens die je in Stap 1c in worksheet “respondenten_opgeschoond” hebt gekopieerd. Stap 2a: “Beschrijvende statistiek” Opdracht Maak een nieuwe worksheet aan met de naam “leeftijd_descriptives”. Descriptives staat voor beschrijvende statistiek. Genereer met de Data Analysis tool in Excel een overzicht met Descriptive Statistics voor de gegevens van variabele leeftijd die in worksheet “respondenten_opgeschoond” staan. Een overzicht van de Summary Statistics volstaat (je hoeft dus niet Confidence levels for mean, Kth largest, Kth smallest te selecteren). Zie ook oefenopdracht E. Stap 2b: “Frequentietabel en histogram” Opdracht Maak een nieuwe worksheet aan in hetzelfde Excel bestand met de naam “leeftijd_histogram” en genereer hierin een frequentietabel voor de gegevens van variabele leeftijd die in worksheet “respondenten_opgeschoond” staan. Gebruik hiervoor de volgende leeftijdscategorien: 0-10 jaar; 11-20 jaar; 21-30 jaar; 31-40 jaar; 41-50 jaar; 51-60 jaar; 61-70 jaar; 71-80 jaar; 81-90 jaar; en 91-100 jaar. Genereer ook het bijbehorende histrogram (grafiek). Zie ook oefenopdracht F. Stap 2c: “Pivot table” Opdracht De professor wil graag een overzicht met gemiddelden van de variabele “leeftijd” van verschillende groepen. De groepen definieer je op basis van variabelen “type” en “geslacht” kunt definieren. Je krijgt dus een groep “type 1 & man”, een groep “type 1 & vrouw”, “type 1 & -“ (geslacht onbekend), “type 2 & man”, “type 2 & vrouw”, etc. etc. En voor elke groep wil de professor de gemiddelde leeftijd weten. Maak hiervoor een pivot table voor de gegevens van variabelen “type”, “geslacht” en “leeftijd” die in worksheet “respondenten_opgeschoond” staan. Noem het bijbehorende nieuwe worksheet “pivottable”. Zie ook oefenopdracht F2. Stap 2d: “Jittered Grouped scatterplot” Opdracht Maak in worksheet “respondenten_opgeschoond” een jittered grouped scatterplot van de variabelen “variabele_***_x” en“variabele_***_y”. Visualiseer de verschillende leeftijdsgroepen in hetzelfde scatterplot (met veschillende kleuren datapunten). Maak hiervoor eerst nieuwe kolommen met IF functies aan en gebruik hiervoor de volgende leeftijdscategorieën: 0-20 jaar;21-40 jaar; 41-60 jaar; 61- 19 80 jaar; 81-100 jaar. Pas ten slotte de jitter techniek toe om de datapunten een klein beetje uit elkaar te trekken. In oefenopdracht G wordt stapsgewijs uitgelegd hoe je een jittered grouped scatterplot maakt. 20 Oefenopdrachten bij Opdracht 2 A. OEFENOPDRACHT UNIX TIMESTAMPS OMZETTEN Als je met secundaire of externe gegevens te maken krijgt, bijvoorbeeld uit een database, zul je vaak merken dat de gegevens waarin je geïnteresseerd bent niet meteen zijn uit te lezen of in het juiste formaat staan. Je kunt bijvoorbeeld gegevens krijgen waar decimalen in komma’s staan uitgedrukt (neem bijvoorbeeld het getal π, afgerond als 3,14), terwijl jij werkt met gegevens waarin decimalen in punten staan uitgedrukt (dus 3.14). Of je krijgt bijvoorbeeld de antwoorden op stellingen als tekst aangeleverd (bijvoorbeeld “helemaal eens”) terwijl jij moet werken met een Likert schaal met scores van 1 t/m 7. Je moet er dus vaak eerst voor zorgen dat alle gegevens in het juiste formaat worden gezet. In deze oefenopdracht leer je hoe je de voor een mens onbegrijpelijke timestamp omzet in een normale datum of normaal jaartal. Alle kennis en vaardigheden die je in deze en de andere oefenopdrachten traint heb je ook nodig voor Opdracht 2. Een timestamp is een serie van karakters waarmee het moment van een bepaald event wordt geregistreerd. Meestal betreft het een datum en een tijdstip, en het tijdstip kan tot de seconde nauwkeurig worden vastgelegd. Een voorbeeld van een zelfbedachte timestamp is 20211129112315. Deze timstamp staat voor de datum 29 november 2021 op tijdstip 11:23u en 15 seconden. Je ziet ongetwijfeld snel hoe deze timestamp werkt (eerst jaar, dan maand, dan dag, dan tijd, dan secondes). Nu geven we dezelfde datum en hetzelfde tijstip in een andere timestamp, bijvoorbeeld de UNIX timestamp: 1638181395. We leggen zo uit hoe deze UNIX timestamp werkt. Wat je misschien meteen opvalt is dat de UNIX timestamp een stuk korter is: 10 getallen ipv 14. En dat scheelt voor computers een slok op een borrel qua geheugenopslag. Hoe korter de timestamp hoe beter. Een tweede probleem met de langere timestamp is dat het lastig rekent. Stel we willen weten hoeveel tijd er tussen 20211129112315 en een nieuwe timestamp, 20201129112315, zit. Je ziet waarschijnlijk al snel aan het vierde getal in de reeks dat het dezelfde timestamp is maar dan een jaar eerder. Voor de computer is dit ingewikkelder. De computer wil het liefste simpele rekensommen maken zoals optellen of aftrekken. Als we de eerste timestamp minus de tweede timestamps doen krijgen we als antwoord 10000000000. Hier kan een computer nog niets mee. Uiteraard kun je de computer allerlei instructies geven om er toch betekenis aan te geven, maar het kan nog veel gemakkijker. Computers gebruiken voor het registreren van de datum en de tijd een systeem waarmee ze alleen secondes tellen of fracties van seconden. Zo rekenen UNIX computersystemen (bekend van Linux en Apple’s macOSX) dat er in één dag precies 86400 seconden zitten (= 60 * 60 * 24). Het enige wat je dan nog nodig hebt om timestamps te kunnen generen is een bepaalde datum en tijd in het verleden wanneer de telling begint, het zogenaamde epoch. En dat verschilt van systeem tot systeem en van programma tot programma. Zo houden UNIX computersystemen 1 januari 1970, klokslag middernacht UTC, aan als startdatum en -tijd. Dit wordt ook wel het UNIX epoch genoemd. Vanaf het UNIX epoch wordt elke seconde opgeteld en zo onstaat er dus een getal dat de datum en tijd representeert op een bepaald moment. 21 UNIX computersystemen rekenen dat er in één dag precies 86400 seconden zitten. Een nietschrikkeljaar van 365 dagen kent dus 31360000 seconden. Om een voorbeeld te geven: “UNIX timestamp” 1000000000 (1 miljard) werd bereikt op 9 september 2001, om 03:46:40 lokale Nederlandse tijd. Je kunt op Wikipedia meer over de “UNIX timestamp” vinden mocht je geïnteresseerd zijn. Er hier kun je de datum en tijd op dit moment als UNIX timestamp vinden. Rekenen met timestamps is voor een computer heel eenvoudig. Om te weten hoeveel tijd er tussen een bepaalde timestamp, bijv. 1000000000 (9 september 2001, om 03:46:40), en 1638181395 (29 november 2021, om 11:23:15), worden beide timestamps van elkaar afgetrokken. Zo zitten er 638181395 seconden tussen beide momenten. Deel je 638181395 door 86400 dan krijg je 7386.358738 dagen als antwoord. Deel je 638181395 door 31360000 dan krijg je 20.35017203 jaar als antwoord. Je krijgt in opdracht 2 een dataset waarin een timestamp op basis van hele seconden met een willekeurig epoch is gebruikt om datums van de gemeten gegevens uit te drukken. Welk epoch precies is gebruikt de dataset van jullie opdrachtengroepje krijg je te zien in de opdracht. Je wilt echter de jaartallen op de normale begrijpelijke manier zien omdat je in opdracht 2 alleen geïnteresseerd bent in een bepaald jaar. Hiervoor moet je de timestamp dus omzetten met Excel. In deze oefenopdracht leer je hoe je dit moet doen aan de hand van de UNIX timestamp met epoch 1 januari 1970. Hieronder zie je een screenshot van hoe je in Excel de UNIX timestamp kunt omzetten in een datum waarmee je wel wat kunt, en daar weer onder leggen we uit hoe deze functie werkt. Figuur: Excel screenshot “UNIX timestamp” omzetten Hoe werkt de Excel formule uit het bovenstaande screenshot? 22 In cel B2 staat het getal 1601998512 wat een willekeurige UNIX timestamp is die een bepaalde datum en tijd representeert. Het eerste deel van de formule in cel B3 is: = (B2/86400) De UNIX timestamp in cel B2 wordt in cel B3 eerst door 86400 seconden gedeeld (UNIX rekent immers met dagen van 86400 seconden). Hiermee krijg je het aantal dagen dat volgens de UNIX timestamp in cel B2 is verstreken vanaf het begin van de UNIX timestamp telling. Nu kunnen we de gehele formule in ogenschouw nemen: =(B2/86400)+DATE(1970,1,1) In deze gecombineerde formule wordt het aantal verstreken dagen dat de UNIX timestamp representeert, opgeteld bij het UNIX epoch van 1 januari 1970. Uiteraard kun je niet zo maar een x aantal dagen optellen bij een datum. Je ziet dan ook dat in het tweede deel van de formule hiervoor de DATE(year,month,day) functie wordt gebruikt. Deze functie zet de datum waarmee wij mensen goed kunnen werken om in een timestamp/getal waarmee jouw computersysteem kan rekenen. LET OP: Sommige versies van Excel werken met ; (puntkomma’s) ipv , (komma’s) in formules. Daar kom je achter als je een foutmelding in Excel krijgt. Dus krijg je een foutmelding bij het invoeren van de formule met DATE(1970,1,1), gebruik dan DATE(1970;1;1) met puntkomma’s. Echter, het kan er ook op wijzen dat je de Nederlanse versie van Excel gebruikt. Zoals aan het begin van dit document reeds aangegeven, adviseren we je ten zeerste om de Engelse versie gebruiken. Zie ook het eerdere hoofdstuk “Werken met Excel”. In cel B3 zie je dat de uitkomst van de formule weer een timestamp/getal is, dus daar heb je nog steeds weinig aan. Echter, deze timestamp is wel geschikt voor jouw computersysteem en moet alleen nog worden omgezet naar een begrijpelijk jaartal. Dit kan met de YEAR formule. = YEAR(B3) 23 Wil je alle formules combineren, dan kun je de UNIX timestamp ook met één gecombineerde formule omzetten. Deze ziet er generiek als volgt uit: = YEAR((UNIX_timestamp/86400)+DATE(1970,1,1)) Oefenopdracht Maak nu de volgende oefenopdrachten: 1. Maak het bovenstaande voorbeeld zelf na in Excel. Wat is het jaartal (in de toekomst) dat bij UNIX-timestamp 1902441600 hoort? 2. Download het bestand “KOM_oefenopdracht_A_timestamp.xls” van Brightspace (zie weekoverzicht week 6) en open het in Excel. Zet de reeks met UNIX-timestamps om in jaartallen in de aangegeven kolom. Je kunt in worksheet “check uitkomst” controleren of je antwoorden kloppen. TIP: maak gebruik van de generieke formule bij de eerste timestamp en kopieer of sleep deze formule naar de 9 andere timestamps. B. OEFENOPDRACHT CSE-FORMULES Zoals je tot nu toe hebt geleerd in de studie Bedrijfskunde kun je met Excel slimme functies maken om iets uit te rekenen of iets op te zoeken. In deze opdracht leer je hoe je met de OR functie van Excel kunt controleren of een bepaalde letter of waarde voorkomt in een reeks letters of waardes. Daarnaast leggen we uit hoe je dit in één keer kunt doen voor een reeks gegevens met behulp van CSE-formules in Excel. De OR functie van Excel De OR functie van Excel ziet er generiek als volgt uit: 24 = OR(logical1, [logical2], …]) waarbij logical1 een ‘statement’ is die ‘waar’ of ‘niet waar’ kan zijn. De OR functie bekijkt of er tenminste één van de opgegeven statements (logical1, logical2, …) waar is, en laat de uitkomst zien als TRUE of FALSE. Zie bijvoorbeeld het onderstaande screenshot: Je ziet in het bovenstaande screenshot in cellen B4 tot en met B9 een reeks met de letters q w e r t y onder elkaar staan. Stel we zijn benieuwd of de letter in cel B4 (“q”) overeenkomt met de letter in cel D2 (“e”), dan kunnen we de volgende formule gebruiken: = OR(B4=$D$2) De uitkomst van deze OR functie staat in cel C4 en is, zoals verwacht, FALSE. De letter “q” in cel B4 is namelijk niet gelijk aan de letter “e” in cel D2. Dezelfde formule is gekopieerd naar de cellen C5 t/m C9. Op de 3e rij van de reeks (cel C6) is inderdaad de uitkomst TRUE te vinden. Mocht je je afvragen waarom er niet ‘gewoon’ D2 in de formule staat maar $D$2 (dus met dollartekens $ $) kijk dan terug in het lesmateriaal van het vak Management Science of lees de korte reminder hierover in het onderstaande kader. Absolute versus relatieve celverwijzing reminder Eén van de kenmerkende eigenschappen van Excel is dat je in formules heel vaak verwijst naar andere cellen waarin bepaalde gegevens of andere formules staan. Wat de makers van Excel slim bedacht hebben is dat als je eenmaal een formule hebt gemaakt, je deze formule gemakkelijk kunt kopieren en plakken op een andere plek, en dat de verwijzingen in de formule naar andere cellen op een logische manier meeveranderen. Zo hebben we in het screenshot de formule uit cel C4 (= OR(B4=$D$2) gekopieert naar cellen C5 t/m C9. En zonder dat we er wat voor hebben hoeven doen 25 staat in cel C5 nu de formule = OR(B5=$D$2) en is de verwijzing naar cel B4 dus omgezet naar cel B5, precies wat we willen. Deze techniek zal je ook goed van pas komen in de opdracht. Wat niet is meeveranderd in de gekopieerde formule is de verwijzing naar cel $D$2, en dat komt vanwege het gebruik van de twee dollartekens. We willen namelijk dat Excel in deze formule altijd de waarde gebruikt die we in cel D2 hebben ingevoerd (en niet in cel D3, of cel D4, of cel E2, of cel E3, etc). Door gebruik te maken van dollartekens maak je de verwijzing in formules absoluut en veranderen ze niet mee als je de formule ergens anders naar toe sleept of kopieert. Zonder gebruik van dollartekens zijn de verwijzingen naar andere cellen relatief en veranderen de celverwijzingen logisch mee als je de formule elders naar toe sleept of kopieert. Ten slotte: zet je alleen een $ voor de kolomletter, dan zet je alleen de kolom ‘vast’ (een absolute verwijzing) en blijft de verwijzing naar het rijnummer relatief; en zet je alleen een dollarteken voor het rijnummer dan zet je alleen de rij ‘vast’ (absolute verwijzing), en blijft de verwijzing naar de kolomletter relatief. CSE formules Stel we hebben niet een reeks met maar 6 letters, maar een reeks met een miljoen letters en we willen in één oogopslag zien of een bepaalde letter voorkomt, dan is de bovenstaande manier waarbij we voor elke rij van de reeks de OR formule gebruiken erg onhandig. Immers dan zouden we niet alleen de OR formule een miljoen keer moeten kopieren, maar ook alsnog door de hele lijst moeten gaan op zoek naar een rij waar ergens TRUE staat in plaats van FALSE. Dan kunnen we net zo goed gewoon zelf op zoek gaan naar de letter “e”. Dus wat we eigenlijk willen is dat er maar één uitkomst van de OR functie is, die door middel van TRUE of FALSE laat weten of een bepaalde letter wel of niet in de gehele reeks voorkomt. Zie in onderstaande screenshot hoe we in cel D11 de formule voor deze enkele uitkomst hebben geformuleerd. Het gaat om de volgende formule: =OR(B4:B9=$D$2) Het eerste wat we hebben aangepast is dat we de OR functie in cel D11 niet alleen naar cel B4 laten kijken, maar naar cellen B4 tot en met B9. Dat doen we door B4:B9 in te voeren. Maar daarmee zijn we er nog niet. De OR functie werkt namelijk alleen goed met statements die verwijzingen naar een enkele cel, bijvoorbeeld B5=$D$2 . Met een reeks van cellen in dit statement, zoals B4:B9, kan Excel zonder aanpassingen niet goed overweg. Excel pakt dan simpelweg de eerste cel in de reeks, cel B4 in dit geval, maar dat willen we nu juist niet. We willen dat Excel wel de gehele reeks B4:B9 pakt. 26 Wat we hiervoor moeten doen is de formule invoeren zoals in het screenshot te zien is: =OR(B4:B9=$D$2) en deze af sluiten met de toetsencombinatie ctrl-shift-enter (CSE). Door de OR formule met ctrl-shift-enter af te sluiten kan Excel wel overweg met een reeks in het opgegeven statement (B4:B9=$D$2) van de OR functie. Door de toetsencombinatie ctrl-shift-enter is de ingevoerde OR formule nu geschikt voor reeksen en het wordt daarom ook wel een een CSE-formule genoemd (vanwege de toetsencombinatie). Ten slotte, is het belangrijk om te weten dat zodra je een CSE-formule weer aanklikt of er iets in veranderd, je opnieuw de toetsencombinatie ctrl-shift-enter moet gebruiken bij het invoeren. Doe je dat niet dan beschouwt Excel de formule weer als vanouds en kan de formule niet meer omgaan met reeksen in de opgegeven statement(s). Je kunt dit ook controleren aan de hand van de { } (accolades) die om de formule staan nadat je de formule hebt ingevoerd met de CSE-toetsencombinatie. Zie ook het bovenstaande screenshot. Excel zet zelf (automatisch) de accolades om de formule heen na het invoeren met de CSE-toetsencombinatie. Zelf { } (accolades) om de formule heen plaatsen heeft dan ook geen zin. Oefenopdracht Maak nu de volgende oefenopdrachten: 1. Download en open het “bestand KOM_oefenopdracht_B_CSEformule.xls” van Brightspace (zie weekoverzicht week 6). Je ziet in de eerste worksheet een reeks met duizend getallen staan. Maak met behulp van bovenstaande uitleg een OR functie in cel D3, die je bevestigt met ctrl- 27 shift-enter, om te bepalen of het getal 488 voorkomt in de reeks. 2. In het bestand “KOM_oefenopdracht_B_CSEformule.xls” zie je in worksheet “oefenopdracht CSE formule 2” wederom een reeks met duizend getallen. In plaats van één getal te zoeken is nu de opdracht om 10 verschillende getallen te zoeken met de OR functie. De duizend getallen in de reeks worden ditmaal random gekozen door Excel. De reeks verandert zodra je een berekening uitvoert of op de F9-toets drukt (met de F9-toets geef je Excel de opdracht alle functies opnieuw uit te voeren). De zoekgetallen in cellen D3:M3 veranderen niet. Waarom gebuiken we random getallen in oefenopdracht 2? Waar je in de eerste oefenopdracht in plaats van de OR functie ook nog met de standaard zoekfunctie van Excel (of handmatig zoeken) had kunnen werken om tot het juiste antwooerd te komen, word je in oefenopdracht 2 ‘gedwongen’ om met OR formules te werken – anders is het verkrijgen van de juiste antwoorden simpelweg te veel werk. Als je de formules op de juiste wijze hebt ingevoerd zul je altijd de juiste zoekresultaten te zien krijgen, ongeacht van nieuwe random nummers. Alle antwoorden kunnen worden gecontroleerd in de daarvoor bestemde worksheets in het Excel bestand van deze oefenopdracht. 28 C. OEFENOPDRACHT BOOLEAN LOGICA MET CSE-FORMULES Nu je in oefenopdracht B hebt geoefend met het invoeren van CSE-formules om met reeksen te werken, kunnen we verder met BOOLEAN logica. Hiervoor breiden we het voorbeeld met de reeks letters uit de vorige oefenopdracht weer een stapje uit. We voegen naast de reeks met letters uit oefenopdracht B nog een tweede rij letters toe – in dit geval 6 keer een “q” – en we willen weten of een bepaalde lettercombinatie voorkomt. Bijvoorbeeld de combinatie “e” en “q”. Hoe doen we dat? We kunnen niet simpelweg de OR functie uitbreiden met een extra argument, want deze geeft al TRUE aan zodra één van de letters in één van beide rijtjes voorkomt. Wat we willen weten is of de exacte combinatie “e” en “q” op een bepaalde rij voorkomt, dus in het onderstaande screenshot is dat het geval op de 3e rij van beide reeksen (cellen B6 en C6). Wat we inmiddels weten is dat de OR functie dankzij de CSE-formule waardes in één reeks (1 kolom) kan evalueren op een bepaalde waarde. Maar met twee (of meer) reeksen werkt dit helaas niet. Om met de OR functie te werken moeten we er dus voor zorgen dat we uiteindelijk weer op één reeks uit komen. Dit kunnen we voorelkaar krijgen met BOOLEAN logica. In de volgende formule passen we deze logica toe (zie ook cel D11 in onderstaande screenshot): =OR((B4:B9=$D$2)*(C4:C9=$H$2)) In het eerste gedeelte van deze OR functie herken je dezelfde vergelijking uit oefenopdracht B (B4:B9=$D$2) voor de eerste reeks letters (q w e r t y) en in het nieuwe tweede deel de vergelijking 29 staat nu (C4:C9=$H$2) voor de tweede reeks letters (q q q q q q) die wordt geëvalueerd op de letter “q” in cel H2. Tussen beide vergelijkingen zie je nu ook een * in de formule staan, en die past zoals je weet een vermenigvuldiging toe (hierover later meer). Ten slotte is de formule weer bevestigd door middel van cntr-shift-enter, oftewel het is een CSE-formule te zien aan de { } in het Excel screenshot (nogmaals: de { } zet Excel automatisch om de formule heen na het invoeren met de CSEtoetsencombinatie, dus niet zelf doen!). De uitkomst van de formule is zoals verwacht TRUE omdat op de 3e plek van de gecombineerde reeks (cellen B6 en C6) de gezochte lettercombinatie “e” en “q” voorkomt. Hoe rekent Excel deze formule achter de schermen uit? In dit kader leggen we dat stap voor stap uit. Stap 1: De celverwijzingen worden door Excel omgezet naar de inhoud van de cellen =OR(({“q”;”w”;”e”;”r”;”t”;”y”}=”e”)*({“q”;“q”;“q”;“q”;“q”;”q”}=”q”)) Stap 2: Elke letter wordt gecheckt op gelijkheid aan de gezochte letter en de uitkomst wordt in een aparte reeks gezet. FALSE betekent dat de letter niet gelijk is aan de gezochte letter, en TRUE betekent dat de letter wel gelijk is aan de gezochte letter. =OR({“FALSE”;”FALSE”;”TRUE”;”FALSE”;”FALSE”;”FALSE”}*{“TRUE”;“TRUE”;“TRUE”;“TR UE”;“TRUE”;”TRUE”}) Stap 3: De TRUE waardes worden omgezet in een 1 en de FALSE waardes worden omgezet in een 0. =OR({0;0;1;0;0;0}*{1;1;1;1;1;1}) Stap 4: Beide reeksen van 0-en en 1-en worden nu met elkaar vermenigvuldigd. We gebruiken immers een * in de formule. In dit geval betekent dit dat iedere waarde uit de eerste reeks met 1 vermenigvuldigd wordt, want de tweede reeks bestaat alleen maar uit 1-en. =OR({0;0;1;0;0;0}) Met de bovenstaande vermenigvuldiging van de twee reeksen (met 1-en en 0-en) hebben we BOOLEAN logica toegepast. Twee reeksen met elkaar vermenigvuldigen is eenvoudig, en de uitkomst laat voor elke waarde in de gecombineerde reeks zien of er aan de voorwaarde van onze zoekcriterium wordt voldaan, namelijk dat de combinatie van de letter “e” én de letter “q” voorkomt. Immers, alleen wanneer beide letters gelijk zijn aan de gezochte letter, zijn beide uitkomsten 1 (TRUE), en zal de vermenigvuldiging van de twee uitkomsten dus ook 1 (TRUE) zijn. In onderstaande tabel is de vermenigvuldiging van de twee reeksen met 1-en en 0-en uitgewerkt, zie de vetgedrukte kolom voor de uitskomst. Een 0 staat voor “combinatie niet gevonden” en een 1 staat voor “combinatie wel gevonden”. 0 0 x x 1 1 = 0 = 0 Betekenis: voldoet niet aan zoekcriterium Betekenis: voldoet niet aan zoekcriterium 30 1 0 0 0 x x x x 1 1 1 1 = = = = 1 0 0 0 Betekenis: voldoet WEL aan zoekcriterium Betekenis: voldoet niet aan zoekcriterium Betekenis: voldoet niet aan zoekcriterium Betekenis: voldoet niet aan zoekcriterium Na de vermenigvuldiging blijft er dus een enkele reeks over die in de OR functie wordt geevalueerd. =OR({0;0;1;0;0;0}) Stap 4: Zodra de OR functie een 1 (=TRUE) tegenkomt in een reeks dan is de uitkomst TRUE. = TRUE BELANGRIJK: Zodra één van de twee reeksen een afwijkende lengte heeft werkt deze vergelijking op basis van BOOLEAN logic niet meer en krijg je #N/A als antwoord, wat je in dit geval moet interpreteren als een foutmelding. Je moet bij het toepassen van Boolean logic dus altijd reeksen selecteren van dezelfde lengte. In dit voorbeeld hebben beide reeksen een lengte van 6. TIP: Je kunt ook zelf zien hoe Excel stapsgewijs formules toepast en uitrekent, inclusief deelberekeningen. Selecteer hiervoor de formule die je wilt evalueren en klik in het menutabblad Formulas op Evaluate Formula. Klik vervolgens in het verschenen venster telkens op Evaluate om elke stap van de berekening te kunnen volgen. Oefenopdracht Maak nu de volgende oefenopdrachten: 1. Download en open het bestand “KOM_oefenopdracht_C_BOOLEANlogic.xls” van Brightspace (zie weekoverzicht week 6). In worksheet “oefenopdracht BOOLEAN logic 1” staat een reeks met getallen in kolom A en een reeks met letters in kolom B. Voer in de blauwe cel E5 een OR formule, en sluit deze af met ctrl-shift-enter (CSE), om te controleren of één van de twee zoekcriteria (een getal en een letter) voorkomt in een van de reeksen. Tip: gebruik de OR functie 31 met twee argumenten, dwz. = OR(logic1, logic2). Voor deze eerste oefenopdracht gebruik je dus nog geen BOOLEAN logica. 2. Nu gaan we het zoekcriterium ‘strenger’ maken. We gaan in worksheet “oefenopdracht BOOLEAN logic 2” controleren of de combinatie van het getal én de letter in beide reeksen voorkomt. Voer hiervoor een OR formule in de blauwe cel E4 waarin je de BOOLEAN logica wel gaat toepassen zoals uitgelegd op de voorgaande pagina’s. Vergeet de formule wederom niet af te sluiten met de CSE-toetsencombinatie. 3. In worksheet “oefenopdracht BOOLEAN logic 3” is de opdracht hetzelfde als hierboven, maar nu willen we in totaal 15 zoekcombinaties controleren, steeds weer bestaande uit 1 letter en 1 getal. Verder zijn zowel de reeks getallen als de reeks met letters random gekozen en veranderen ze bij elke nieuwe berekening of bij het indrukken van de F9-toets. De zoekgetallen en zoekletters zijn wel vast. Alle antwoorden kunnen worden gecontroleerd in de daarvoor bestemde worksheets in het Excel bestand van deze oefenopdracht. 32 D. OEFENOPDRACHT DE INDEX EN MATCH FUNCTIE Nu je kunt werken met CSE-formules en BOOLEAN logica kunnen we het voorbeeld dat we in oefenopdracht C gebruikten verder uitbreiden. In plaats van alleen controleren of de zoekopdracht voorkomt in onze reeksen met letters (TRUE of FALSE), willen we nu weten in welke plek de gezochte combinatie voorkomt. Hiervoor kunnen we de MATCH formule gebruiken. De generieke MATCH formule geeft indien gevonden de plek van de zoekwaarde en ziet er als volgt uit: = MATCH(lookup_value, lookup_array, match_type) waarbij lookup_value de waarde is die je wilt zoeken in een bepaalde reeks. Deze reeks geef je aan in lookup_array. Bij match_type heb je de optie om precies te zoeken, aangegeven met een 0, of bij benadering te zoeken (een -1 of 1). In Opdracht 2 en deze oefenopdrachten werk je bij match_type altijd met 0 (dus precies zoeken). Het getal dat de MATCH functie berekent is het (relatieve) rijnummer in de reeks(en) waar een match gevonden is, zie het bovenstaande screenshot waar de combinatie is gevonden op de 3e rij van beide reeksen met letters. Als er meerdere combinaties voorkomen in de reeksen dan geeft de MATCH functie het rijnummer van de eerst gevonden combinatie. Als de combinatie niet gevonden kan worden zul je “#N/A” te zien krijgen. LET OP: je krijgt de uitkomst “#N/A” (wat no answer/not applicable/not available betekent) niet alleen als de combinatie niet gevonden kan worden, maar ook als de formule niet goed werkt. 33 Controleer dus eerst altijd je formules als je “#N/A” te zien krijgt, bijvoorbeeld door een zoekcriterium in te stellen waarvan je weet dat het een resultaat zou moeten opleveren. TIP: Ook als je wel een goede uitkomst lijkt te krijgen, is het verstandig om de uitkomst ter controle handmatig te checken en dat te herhalen voor verschillende zoekcombinaties. Bijvoorbeeld als je de formule gaat kopieren en gebruiken in andere cellen, en je bent per ongeluk vergeten om bepaalde celverwijzingen absoluut te maken, dan kan het zijn dat het lijkt alsof de formule goed werkt, maar in werkelijkheid is dat niet het geval. Ook de MATCH formule werkt in beginsel alleen met één zoekwaarde en één reeks, terwijl we in het voorbeeld twee zoekwaarden en twee reeksen gebruiken. We moeten dus weer de CSE-formule toepassen door de MATCH formule met ctrl-shift-enter in te voeren: =MATCH(1,(B4:B9=$D$2)*(C4:C9=$H$2),0) invoeren met ctrl-shift-enter Je zult je nu misschien afvragen, waarom is het getal 1 de lookup_value? We willen toch weten op welke positie in de reeks de lettercombinatie “e” en “q” voorkomt? Het antwoord op deze vraag heeft te maken met dat de MATCH functie eigenlijk maar met één lookup_value kan werken, en niet met meerdere lookup_values zoals “e” en “q”. We moeten hier wederom BOOLEAN logica toepassen. Het lookup_array gedeelte van de formule (B4:B9=$D$2)*(C4:C9=$H$2) levert dezelfde reeks op van 1-en en 0-en als in oefenopdracht C, namelijk {0;0;1;0;0;0}. De 0 staat voor FALSE en betekent dat de gezochte combinatie op die positie in de reeks niet gevonden is, en de 1 staat voor TRUE en betekent dat de gezochte combinatie op die positie in de reeks wel gevonden is. Onze MATCH functie zoekt dus in deze reeks naar de positie in de reeks waaraan ons zoekcriterium is voldaan, aangegeven met een 1 als lookup_value. En die vindt onze MATCH fomule op positie 3 in deze reeks. De INDEX en MATCH functies gecombineerd. We breiden het voorbeeld nog één keer uit en dan zijn we er. We voegen een derde reeks toe: bij elke letter combinatie hoort nu ook een kleur die met tekst staat aangegeven, zie het onderstaande screenshot. We zijn nu benieuwd naar de kleur die bij een bepaalde lettercombinatie hoort. Bijvoorbeeld bij de lettercombinatie “e” en “q” hoort de kleur “blauw”. Hiervoor kunnen we de INDEX functie gebruiken. De INDEX functie laat de waarde zien in een bepaalde reeks gegeven een rijnummer. Deze formule ziet er generiek als volgt uit: = INDEX(array, row_num, [columns_num]) waarbij je bij array één of meerdere reeksen aangeeft en bij row_num de positie in de reeks(en) die opgezocht moet worden. [column_num] staat tussen [ ] haken omdat je dat niet per sé hoeft op te 34 geven. Vul je bij [column_num] niets in dan wordt de waarde aan de hand van de de opgezochte positie (row_num) uit de eerste reeks gehaald zoals opgegeven bij array. Heb je bij array meerdere reeksen geselecteerd en wil je een andere reeks gebruiken dan de eeste reeks, vul dan wel een getal (2, 3, 4, etc) in bij [column_num]. Wij gebruiken bijvoorbeeld 3 in onderstaande screenshot, zodat de 3e reeks wordt gebruikt om de kleur op te zoeken. Hoe hebben we de INDEX formule gebruikt in het bovenstaande screenshot (met de uitkomst in cel G13)? =INDEX(B4:D9,G11,3) Ten eerste hebben we in de INDEX funtie bij array drie reeksen ingevoerd, namelijk B4:B9, C4:C9 en D4:D9, en in Excel voer je dat in als B4:D9. Voor row_num gebruiken we de uitkomst van de MATCH formule, die nog steeds in cel G11 staat (zie vorige pagina’s voor uitleg) met uitkomst 3 (dat wil zeggen, de gezochte combinatie staat op de 3e rij van de reeks). Ten slotte zijn we geïnteresseerd in de kleur die bij deze lettercombinatie hoort, dus we willen dat de INDEX formule de kleur die in de 3e reeks (of kolom) staat als uitkomst geeft. Dus vandaar dat we bij [column_num] 3 ingevoerd hebben. Merk ook op dat we deze INDEX formulie niet met ctrl-shift-enter invoeren aangezien we hier met één row_num werken. Let op: je werkt bij row_num en column_num met relatieve rij- en kolomnummers. Je telt het aantal rijen of het aantal kolommen vanaf het begin van de geselecteerde reeks. Dus in de geselecteerde 35 B4:D9 uit het voorbeeld is de eerste rij niet rijnummer 4 (het absolute rijnummer), maar 1; en de eerste kolom is niet kolom 2 (of kolom B) maar 1. Je gebruikt hier dus niet de rijnummers die altijd geheel links in Excel te zien zijn, noch gebruik je kolomletters zoals bovenaan in Excel altijd te zien zijn. Combineer je de INDEX en MATCH functies in één formule, zie onder, dan moet je de gecombineerde formule wel met ctrl-shift-enter invoeren omdat het MATCH gedeelte wel met reeksen werkt. De gecombineerde formule ziet er als volgt uit: =INDEX(B4:D9,MATCH(1,(B4:B9=$D$2)*(C4:C9=$H$2),0),3) invoeren met ctrl-shift-enter (CSE) Overigens zou je in deze INDEX formule ook probleemloos één reeks invoeren bij array, namelijk D4:D9 in plaats van B4:D9. We zijn immers alleen geïnteresseerd in de kleuren. Tevens hoef je dan bij [column_num] niets in te vullen. Dus: =INDEX(D4:D9,MATCH(1,(B4:B9=$D$2)*(C4:C9=$H$2),0)) invoeren met ctrl-shift-enter (CSE) Oefenopdracht Maak nu de volgende oefenopdrachten: 1. Download en open het Excel bestand “KOM_oefenopdracht_D_INDEX_en_MATCH.xls” van Brightspace (zie weekoverzicht week 6). In deze eerste opdracht gaan we op zoek naar de positie in de reeks van het opgegeven zoekcriterium, in dit geval de combinatie van het getal 920 en de letter “a”. Gebruik de MATCH formule in cel E4 zoals hierboven uitgelegd, en vergeet niet af te sluiten met de CSE-toets combinatie. 2. In worksheet “oefenopdracht INDEX & MATCH 2” zijn nieuwe zoekcriteria (het getal 53 en de letter “c”) ingesteld en is de uitkomst van de MATCH functie gegeven in cel E4. De combinatie van het getal 53 en de letter “c” komt voor op positie 33 in de reeks zoals je aan de uitkomst kunt zien. Tevens is een derde reeks toegevoegd met verschillende kleuren geschreven in tekst. Gebruik de INDEX formule in cel E5 om de kleur die bij positie 33 hoort weer te geven. Je hoeft voor deze INDEX formule niet de CSE-toetsencombinatie te gebruiken. 3. Bepaal in worksheet “oefenopdracht INDEX & MATCH 3” voor alle 15 zoekcombinaties de bijbehorende kleur, indien de zoekcombinatie voorkomt in de reeks (als de zoekcombinatie niet bestaat retourneert de functie “#N/A” wat “not available” betekent). Gebruik hiervoor de gecombineerde INDEX en MATCH functie die je wel bevestigt met de CSE-toetsencombinatie. In deze opdracht zijn zowel de getallen in kolom A, de letters in kolom B als de kleuren in kolom C willekeurig. Dat betekent dat zodra je een berekening uitvoert of op de F9-toesten drukt de waardes veranderen. De te zoeken getallen en letters staan wel vast. 36 Alle antwoorden kunnen worden gecontroleerd in de daarvoor bestemde worksheets in het Excel bestand van deze oefenopdracht. 37 E. OEFENOPDRACHT BESCHRIJVENDE STATISTIEK Met de Data Analysis tool van Excel kun je verschillende statistische analyses uitvoeren. In beperkte mate is het vergelijkbaar met de analysemogelijkheden in SPSS. Je hebt in het vak Statistiek al geleerd hoe je de data-analyse tool kunt installeren in Excel en waar je de data-analyse tool kunt vinden, namelijk in het Excel menutabblad “Data”, zie screenshot. Oefenopdracht Download “KOM_oefenopdracht_E_F_beschrijvende_statistiek.xls” van Brightspace (zie weekoverzicht week 6) en open het in Excel. In dit bestand staan drie kolommen met gegevens van een willekeurige vragenlijst: leeftijd, variabele X en variabele Y. Genereer voor Variabele X met de Data Analysis tool in Excel een overzicht met Descriptive Statistics. Een overzicht van de Summary Statistics volstaat (dus Confidence levels for mean, Kth largest, Kth smallest hoef je niet te selecteren). Onder het screenshot staan de stappen uitgelegd hoe je dit doet. Stappen Descriptive Statistics in Excel 38 1. Kies in het Data Analysis menu voor ‘Descriptive Statistics” 2. Selecteer eerst de kolom met de bewuste variabele bij Input Range, zie het screenshot hierboven. Selecteer indien nodig “Labels in first row” als in de eerste rij de kolomnaam staat. 3. Kies bij Output options “New Worksheet Ply” en voer ook de naam in van deze nieuwe worksheet ook al invoeren. 4. Selecteer bij Output Options de optie “Summary statistics” en klik op OK. 5. De tabel met beschrijvende statistiek staat nu klaar in een nieuw worksheet met de naam die je ingevoerd hebt. Zorg dat alles goed leesbaar is. Duurt het generen van deze tabel lang of krijg je een foutmeling controleer dan ten eerste of je bestandnaam en worksheetnaam geen spaties of liggende streepjes (-) bevatten. Ten tweede kun je proberen de Input Range aan te paasen: selecteer alleen de rijen met gegevens. Dus selecteer bijvoorbeeld rij A1:A1000 en niet A:A, dus niet de gehele kolom. Het screenshot hieronder laat het juiste antwoord zien. 39 F. OEFENOPDRACHT FREQUENTIETABEL In het bestand “KOM_oefenopdracht_E_F_beschrijvende_statistiek.xls” dat je in de vorige oefenopdracht (oefenopdracht E) hebt gebruikt staat ook een kolom met Leeftijden. Oefenopdrachten 1. Genereer in een apart worksheet een frequentietabel voor leeftijd. Gebruik hiervoor de volgende leeftijdscategorieën: 21-30 jaar, 31-40 jaar, 41-50 jaar en 51-60 jaar. Zie hieronder voor verdere instructies. 2. Genereer ook een histogram (grafiek) om de leeftijdsverdeling visueel te representeren. Zie hieronder voor verdere instructies. Instructies Maak een nieuwe worksheet aan in “KOM_oefenopdracht_E_F_beschrijvende_statistiek.xls”. 1. Zet de vier leeftijdscategorien 21-30 jaar, 31-40 jaar, 41-50 jaar en 51-60 jaar onder elkaar in kolom A als volgt: 2. Er zijn verschillende manieren om frequenties te berekenen in Excel. Zo kun je de FREQUENCY of de COUNTIF functie van Excel gebruiken. De techniek die we hier uitleggen is de Histogram methode in de Data Analysis tool van Excel. Deze genereert zowel de gevraagde frequentietabel (oefenopdracht 1) als het histogram (oefenopdracht 2). De Histogram methode van de Data Analysis tool van Excel werkt met zogenaamde bins, of in het Nederlands vertaald: bakken. Elke bak die je aanmaakt staat voor een bepaalde leeftijdscategorie, en Excel zal er voor zorgen dat de bakken gevuld worden met de juiste frequenties. Je definieert een bin in Excel door een reeks aan te maken. Elke afzonderelijke waarde in de reeks geeft de maximale waarde van de desbetreffende bin. Voor onze leeftijdscategoriën moet je dus de volgende bins aan maken 40 3. Open nu de Data Analysis tool, kies Histogram en klik op OK. 4. In het Histogram venstertje: a. Selecteer je de reeks met Leeftijden in de worksheet Gegevens als Input Range. Zie ook het screenshot hieronder. Let op dat je de eerste cel met het label Leeftijd niet selecteert. Doe je dit wel dan krijg je later een foutmelding. b. Selecteer vervolgens de vier bins die je zonet hebt toegevoegd bij Bin Range. c. Kies ten slotte bij de opties onderin het Histogram venster de optie “Chart Output” om ook een grafiek te generen. Geef eventueel een nieuwe naam op voor de nieuwe worksheet (bijv. “leeftijd frequenties”) en druk op OK. In de nieuwe worksheet verschijnt, als je alle stappen goed hebt uitgevoerd, de onderstaande output. Duurt het generen van het histogram lang of krijg je een foutmeling controleer dan ten eerste of je bestandnaam en worksheetnaam geen spaties of liggende streepjes (-) bevatten. Ten tweede kun je proberen de Input Range aan te paasen: selecteer alleen de rijen met gegevens. Dus selecteer bijvoorbeeld rij A1:A1000 en niet A:A, dus niet de gehele kolom. 41 Deze output is echter nog niet heel gebruiksvriendelijk. Zo zijn de bins voor iemand anders waarschijnlijk onbegrijpelijk. 5. Wat je daarom ten slotte moet doen is de informatie op deze nieuwe worksheet gebruikersvriendelijker maken: a. Kopieer de leeftijdscategorien die je in stap 2 hebt ingevoerd op de plaats van de leesonvriendelijke bins, zie ook het screenshot onder. b. Pas de labels aan in de eerste rij (dus bin wordt “leeftijd” en Frequency wordt “frequentie”) en doe hetzelfde in de grafiek door te dubbelklikken op de labels bij de xan en y-as. c. Voor het aanpassen van Frequency in de legenda van de grafiek klik met de rechtmuisknop op de legenda, kies Select Data, klink aan de linkerkant bij Legend Entries (Series) op Edit en voer bij Series Name “Frequentie” in. Klik daarna twee keer op OK. d. Ten slotte heeft Excel ook een “More” categorie aangemaakt in de frequentietabel. Die rij kun je simpelweg verwijderen. Eindresultaat en juiste uitwerking van deze oefenopdracht: 42 F2. OEFENOPDRACHT PIVOT TABLE Een pivot table (of een draaitabel in het Nederlands) is een tabel van gegroepeerde waardes die de individuele waardes van een onderliggende dataset aggregeert. Volg je het nog? Gemakkelijker is om het uit te leggen aan de hand van een voorbeeld en met een echte dataset. En dat is wat we gaan doen in deze oefenopdracht. Overigens heb je al eens leren werken met pivot tables in Excel in het vak Management Science. Met deze oefenopdracht kun je je geheugen en vaardigheden dus opfrissen. Weten hoe pivot tables in Excel werken kan van onschatbare waarde zijn! Voor deze oefenopdracht maken we gebruik van een publieke dataset van de GGD over COVID-19. Deze en andere datasets zijn publiekelijk beschikbaar via https://coronadashboard.rijksoverheid.nl/verantwoording Omdat deze datasets ontzettend groot zijn werken we met een heel klein gedeelte van één van de beschikbare datasets, namelijk de gegevens van 18 november 2021 van de dataset “COVID19_casus_landelijk”. Voor elke persoon die op die dag positief getest werd of is opgenomen in het ziekenhuis is een rij met gegevens opgenomen, met onder meer de leeftijdsgroep, het geslacht en de regio. Stel je bent geïnteresseerd in de verdeling van positieve tests op basis van leeftijdsgroepen en geslacht. Hoe kun je die gegevens eenvoudig inzichtelijk maken? Dat kan met een pivot table in Excel. Doorloop hiervoor de volgende stappen: 1. Open het bestand KOM_oefenopdracht_F2_scatterplot.xls In dit bestand tref je de hierboven beschreven gegevens van de GGD aan van 18 november 2021. Elk rij is een persoon die of een positieve testuitslag heeft, of in het ziekenhuis is opgenomen, of helaas is overleden. De betekenis van de verschillende variabelen is waarschijnlijk meteen duidelijk behalve de codes die in de kolom “Date_statistics_type” staat. Hieronder staat de legenda voor “Date_statistics_type”: DOO = Date of disease onset: Eerste ziektedag zoals gemeld door GGD. Let op: het is niet altijd bekend of deze eerste ziektedag ook echt al Covid-19 betrof. DPL = Date of first Positive Labresult: Datum van de (eerste) positieve labuitslag. DON = Date of Notification: Datum waarop de melding bij de GGD is binnengekomen. (bron: https://data.rivm.nl/meta/srv/dut/catalog.search#/metadata/2c4357c8-76e4-4662-95741deb8a73f724) Voor ons doel zijn we alleen geïnteresseerd in DPL, oftewel de datum van de eerste positieve labuitslag. In stap 7 zullen we daar een filter op maken. 2. Selecteer in zijn geheel kolommen C (“Date_statistics_type”), D (“Agegroup”), en E (“Sex”). Ga vervolgens in de menubalk naar Insert en druk op PivotTable, zie ook het screenshot hieronder. 43 3. Controleer in het venster “Create PivotTable” dat in beeld verschijnt of de volgende zaken (zie onder) zijn ingesteld, en druk op OK. Tip: soms gaat het selecteren van de kolommen niet goed. Het gemakkelijkste is dan om het bereik van de geselecteerde cellen handmatig in te voeren zoals hieronder in het screenshot staat. 4. Er wordt nu een nieuw worksheet geopend. Wijzig de naam van dit worksheet in “pivottable” (zonder spaties). Aan de rechterzijde van worksheet “pivottable” vind je een aantal velden, de zogenaamde PivotTable fields (zie onder, rechts). 44 Belangrijk: Als je het gedeelte met PivotTable Fields aan de rechterzijde niet ziet, klik dan op het Pivottable figuur wat te vinden is aan de linkerkant van het worksheet “pivottable” (ben je in de latere stappen van deze oefenopdracht, klik dan op de pivot table zelf). Dan verschijnt alsnog de PivotTable Fields aan de rechterzijde. 5. We zijn geïnteresseerd in de aantallen en percentages van COVID-19 positieve tests per leeftijdsgroep en geslacht. Dus we willen tabel krijgen waar we op de rijen leeftijdsgroepen krijgen en op de kolommen het geslacht (het kan trouwens ook prima andersom, dus op de rijen het geslacht en op de kolommen de leeftijdsgroepen; kijk altijd wat visueel het handigste is om te gebruiken qua rijen en kolommen), en in de tabel zelf aantallen positieve tests en percentages per groep. Sleep hiervoor als eerste stap in het gedeelte PivotTable fields “Agegroup” naar het vakje “Rows”, en “Sex” naar het vakje “Columns” (zie screenshot onder stap 6). Er verschijnt nu een nog lege pivot table in het worksheet. 6. Omdat de gegevens zowel gaan over positieve tests als ziekenhuisopnames en sterfgevallen, moeten we de gegevens ook gaan filteren. Hiervoor kunnen we het veld “Date statistics type” gebruiken (zie boven voor de legenda). Klik op de Pivottable en sleep in PivotTable Fields het veld “Date statistics type” uit de lijst bovenin naar het vakje “Filters” (zie screenshot onder). Je ziet nu boven de pivot table twee extra cellen verschijnen in cel A1 en B1. In cel B1 kun je nu de code selecteren. Zoals gezegd zijn we alleen geïnteresseerd in positieve tests, en dat is code DPL (Date of first Positive Labresult). 45 7. Nu moet je nog instellen wat Excel precies moet gaan tellen of uitrekenen. Het maakt niet uit welk veld (“Agegroup”, “Sex”, of “Date_statistics_type”) we voor het bepalen van de frequenties gaan gebruiken, mits er geen missende waardes in die velden zijn want anders telt Excel die natuurlijk niet mee. Het tellen van “Agegroup”, “Sex”, of “Date_statistics_type” voor het bepalen van de frequentie van positieve testen in de pivot table klinkt wellicht een beetje vreemd. We willen toch het aantal personen met een positieve test tellen? Waarom gebruik je dan daar één van deze velden voor? Dat heeft te maken met hoe deze dataset is opgebouwd. Elke rij met gegevens staat namelijk voor één persoon die positief getest is, of in het ziekenhuis is opgenomen, of helaas is overleden. In de vorige stap hebben we al een filter ingesteld op alleen positieve testen. We moeten nu dan alleen nog tellen hoe veel rijen er in de gefilterde data over zijn. Omdat er in elke rij bij elk veld (“Agegroup”, “Sex”, of “Date_statistics_type”) een waarde staat kunnen we Excel de opdracht geven simpelweg te tellen hoeveel waardes er staan onder één van deze velden om het aantal personen met een positieve test te bepalen. In dit voorbeeld gaan we “Agegroup” gebruiken om het aantal personen met een positieve test te tellen. Klik hiervoor eerst op de nog lege pivot table en sleep daarna “Agegroup” uit de lijst bovenin in PivotTable Fields (en niet uit het vakje Rows!) naar het veld “Values”. Excel stelt het tellen van waarden automatisch in, dus vandaar dat er nu “Count of Agegroup” staat, precies wat we willen. En als het goed is zie je de tabel nu ook gevuld met frequenties (zie onder). Klik vervolgens op “Count of Agegroup” en klik daarna op “Value Field Settings” in het pop up menu. We gaan de naam van deze telling aanpassen bij Custom Name. Voer bij Custom Name “Aantal” in. Laat voor de rest alles staan en druk op OK. 46 Handig om te weten voor Opdracht 2: Bij deze dataset is alleen het tellen van frequenties nuttig omdat de geselecteerde velden alleen nominale (geslacht, date_statistics_type) en ordinale schalen (leeftijdsgroep) betreffen. Stel dat de GGD ook had bijgehouden hoeveel dagen iemand al klachten had bij een positieve test. Dit fictieve veld noemen we “days with symptoms” en is een geheel getal van 0 of hoger (1, 2, 3 dagen etc.), oftewel een ratio schaal. Bij het aanmaken van de pivot table (zie stap 2) selecteer je eerst ook de fictieve variabele “days with symptoms” als extra variabele. Vervolgens sleep je bij deze stap (stap 6) in plaats van “Agegroup” de extra variabele “days with symptoms” naar het “Values” veld. Excel gaat automatisch ervan uit dat je wilt gaan tellen, dus er komt nu eerst “Count of days with symptoms” te staan, en de pivot table zal precies dezelfde waardes weergeven als bij “Count of Agegroup”. Maar omdat “days with symptoms” een ratio schaal is kunnen we ook het gemiddelde (of de standaarddeviatie, of de min/max waarde, etc.) uit laten rekenen. Hiervoor klik je op eerst “Count of days with symptoms” in het “Values” veld, en daarna op “Value Field Settings” in het pop up menu. Bij “Summarize Values By” klik je vervolgens op “Average” en dan op OK. Indien nodig kun je eerst nog op “Number Format” klikken om bijvoorbeeld de gemiddelden af te laten ronden op 2 decimalen. 8. We willen nu ook de percentages voor alle groepen laten uitrekenen. Klik eerst weer op de pivot table en sleep daarna in PivotTable Fields nog een keer “Agegroup” uit de lijst bovenin (dus weer niet uit het vakje Rows!) naar het veld “Values”. Klik op “Count of Agegroup” in het veld “Values” en klik vervolgens op “Value Field Settings” in menuutje dat verschijnt. We gaan wederom de naam van deze waarde aanpassen bij Custom Name en dit keer in “percentages”. Klik vervolgens in hetzelfde 47 venster op het tabblad “Show Values As” en selecteer in het drop down menu “% of Grand Total”. Klik ten slotte op OK. 9. De conventie is om eerst aantallen te laten zien in een tabel en daarna pas percentages, dus je moet eventueel “aantallen” en “percentages” nog in de juiste volgorde zetten het veld “Values” (zie onder). Als het goed is krijgt je uiteindelijk dan de volgende pivot table te zien. Op 18 november 2021 waren er volgens deze dataset 8444 positieve testen geregistreerd door de GGD in Nederland en leren we dat het grootste aandeel positieve tests (782, 9.26%) te vinden is in de groep van 30-39jarige vrouwen. 48 G. OEFENOPDRACHT JITTERED GROUPED SCATTERPLOT Een scatterplot is een handige manier om data mee te visualiseren en om in één oogopslag een beeld te krijgen van het verband tussen twee variabelen. Bovendien kun je ook controleren of er outliers, gaten of clusters in de data van de geselecteerde variabelen voorkomen. Met Excel kun je snel en gemakkelijk scatterplots maken. In deze opdracht leer je niet alleen hoe je een eenvoudige scatterplot maakt in Excel maar ook hoe je “jittered” scatterplots maakt en hoe je “grouped” scatterplots maakt. Deze opdracht bestaat uit twee onderdelen en maakt gebruik van het bestand “KOM_oefenopdracht_G_scatterplot.xls” dat je van Brightspace (zie weekoverzicht week 6) kunt downloaden. Oefenopdrachten 1. Maak een scatterplot aan van de variabelen X en Y in Excel in “KOM_oefenopdracht_G_scatterplot.xls” en bereken de correlatie tussen X en Y in Excel. 2. Pas de “jitter” techniek toe in een nieuw scatterplot, om alle gegevenspunten zichtbaar te maken. 3. Maak een nieuwe scatterplot van variabelen X en Y, en visualiseer daarin ook de leeftijdscategorie. Pas ook hier weer de “jitter” techniek toe. Instructies Oefenopdracht 1: Eenvoudige scatterplot 1. Download en open “KOM_oefenopdracht_G_scatterplot.xls” en selecteer zowel de gehele kolom van variabele X (kolom B) als de gehele kolom van variabele Y (kolom C), inclusief de kolomnamen. 2. Klik op het menutabblad “Insert” en klik op het scatterplot icoontje bij Charts. 1 2 3. Kies de eerste optie (“Scatter”) 49 4. De automatisch aangemaakte titel van de scatterplot is nog niet correct. Pas die aan door erop te dubbelklikken en verander hem in “Scatterplot: Variabele X en Y”. Ook moet je altijd de assen benoemen. Klik hiervoor op de scatterplot zodat de menu opties rechts- of linksboven de plot verschijnen (zie ook screenshot hieronder). Klik vervolgens op het groene plusje (1) en selecteer daarna de optie “Axis titles” (2). Je kunt de titel van een as aanpassen door op het label te dubbelklikken. Hernoem de labels als volgt: “Variabele X” op de horizontale as en “Variabele Y” op de verticale as. Soms komt het groene plusje ook aan de linkerzijde van de plot te staan. Mocht je het groene plusje (zie in het screenshot hieronder bij 1) überhaupt niet te zien krijgen zie dan de extra tip in het kader onder het screenshot. 1 2 Mocht je het groene plusje niet zien of kunnen vinden selecteer dan je plot met de muis, en ga in het menutabblad naar “Design” en klik vervolgens op Add Chart Element (geheel links in het scherm). Klik in het menu op “Axis Titles” en selecteer Primary Horizontal en volg daarna dezelfde stappen en kies Primary Vertical. 50 5. Het is altijd goed om te checken of Variabele X inderdaad op de X-as staat geplot en Variabele Y op de Y-as. Dit doet Excel niet automatisch; het hangt af van in welke volgorde de variabelen staan of zijn ingevoerd. Om dit te checken, klik met de rechtermuisknop op de scatterplot en kies “Select Data…”. Je krijgt dan het onderstaande scherm te zien. De gegevens die in de linkerhelft staan (onder Legend Entries (Series)) zijn de gegevens op de verticale Y-as, in dit geval Variabele Y, dus dat klopt. De gegevens die in de rechterhelft staan (onder Horizontal (Category) Axis labels) zijn de gegevens op de horizontale X-as. De waardes 3.33, 1.67, 2.67 corresponderen inderdaad met de waardes uit kolom B van Variabele X. 6. Hieronder zie je de juiste scatterplot. Wat je in één oogopslag ziet is dat er sprake lijkt te zijn van een negatief verband tussen variabele X en Y. Neemt X toe, dan lijkt Y af te nemen. Er zijn zo te zien geen outliers, gaten of bepaalde clusters. Alleen bij een lage X (tussen X=1 en X = 2) is een lichte afzwakking van het verband te zien. Of er sprake is van een significant verband zou moeten blijken uit een vervolganalyse, die in deze oefenopdracht buiten beschouwing wordt gelaten. 51 Variabele Y Scatterplot: Variabele X en Y 8 7 6 5 4 3 2 1 0 0 2 4 6 8 Variabele X 7. Wat we tenslotte berekenen is de correlatie tussen variabelen X en Y. Voordat we dat doen, bedenk eerst even zelf de correlatie die je ongeveer verwacht op basis van de scatterplot. Is het dichtbij 0, dichtbij 1, of eerder er tussenin? En is het een negatieve of een positieve correlatie? Nu gaan we de correlatie met Excel berekenen wat heel eenvoudig gaat. Gebruik hiervoor de volgende formule in Excel: = CORREL(array1, array2) Selecteer in de formule voor array1 alle waarden voor variabele X en voor array2 alle waarden voor variabele Y. Je zou vervolgens een correlatie moeten krijgen van -0.83 (afgerond op twee decimalen). Instructies Oefenopdracht 2: Jittered Scatterplot Er valt je misschien nog iets op in de zojuist gemaakte scatterplot. Er zijn 393 gegevensrijen in onze Excel sheet, maar er staan zo op het oog geen 393 punten in de bovenstaande scatterplot. Onze inschatting is dat er ‘maar’ 100 a 150 punten te zien zijn. Waar zijn de andere punten gebleven? Die andere punten staan in principe wel in de scatterplot, maar zijn niet zichtbaar omdat ze overlappen met andere datapunten. De combinatie van X = 3 en Y = 6 komt bijvoorbeeld meerdere keren voor, evenals de combinatie X = 4.67 en Y = 4.33. Deze identieke combinaties overlappen elkaar in de scatterplot, waardoor je maar één datapunt ziet. Dat er zoveel overlappende gegevenspunten zijn komt omdat er in de gegevens die we gebruiken maar een beperkt aantal combinaties van X en Y waardes mogelijk zijn. Kijk maar eens naar de waardes van variabele X en Y in kolom B en C, dan zie je dat het of gehele getallen zijn (zeven mogelijkheden: 1, 2, 3, …, 7) of het is een van deze zeven getallen met .33 of .67 achter de komma. Variabele X en Y kunnen elk dus 21 (= 7 x 3) waardes aannemen, en theoretisch zijn er dan ‘maar’ 21 x 21 = 441 verschillende combinaties van X en Y mogelijk. 52 Dat zijn er nog steeds veel maar vergelijk het eens met de mogelijkheid dat achter elk getal van X en Y (1, 2, 3, …, 7) twee willekeurige cijfers achter de komma staan (.00 t/m .99). Dan kan elke variabele X of Y 700 (= 7 x 100) verschillende waardes aannemen en bestaan er in theorie 700 x 700 = 490000 verschillende X en Y combinaties. De kans op dezelfde combinaties en daarmee overlap in een scatterplot is dan veel kleiner. Bovendien lijkt er een verband te zijn tussen variabele X en Y, zie de bovenstaande scatterplot, en dit heeft als gevolg dat lang niet alle combinaties voorkomen. Hierdoor neemt de kans dat er meerdere dezelfde combinaties zijn alleen maar toe. Hoe kun je er voor zorgen dat alle 393 datapunten toch te zien zijn in de scatterplot, dus ook de overlappende datapunten? Hiervoor kun je de “jitter” techniek toepassen. Door middel van jittering wordt er een klein willekeurig getal (tussen -0,05 en 0,05 bijvoorbeeld) met zeer veel cijfers achter de komma bij één of beide variabelen opgeteld, waardoor het aantal mogelijke combinaties vele malen groter wordt, en de kans op volledige overlap nihil. En hierdoor zullen alle datapunten wel zichtbaar worden. Uiteraard ga je niet met deze gemanipuleerde getallen verder en rekenen in de dataanalayse. Je gebruikt de jittering techniek dan ook alleen voor data-visualisatie! Hoe ga je deze “jitter” techniek toepassen. 1. Als eerste stap geef je kolom D en E twee nieuwe kolomnamen: Jittered X en Jittered Y. Zie onderstaand screenshot. In deze kolommen komen straks de gemanipuleerde gegevens te staan. 2. We willen kleine random getallen bij de waardes van variabele X en Y optellen of aftrekken zodat er geen volledige overlap meer is in de scatterplot. Het getal en de spreiding van willekeurige getalen moet echter a) niet te groot zijn, want dan kan het een misleidend beeld opleveren in de scatterplot; maar b) ook niet te klein zijn anders is er nog steeds veel overlap. In het bovenstaande screenshot zie je dat we een spread waarde hebben gedefinieerd van 0.3 in cel H2. Voeg dit ook toe aan jouw Excel sheet. Met deze spread waarde kunnen we de spreiding van de willekeurige getallen later verder beïnvloeden, mochten we toch meer of minder onderscheid in de scatterplot terug willen zien. Verder kiezen we ervoor een willeurig getal tussen 0 en 1 (dus bijv. 0.93673… of 0.23536…) 53 te trekken met de RAND() functie van Excel en hier 0.5 van af te trekken. Hierdoor krijg je feitelijk een willekeurig getal tussen de -0.5 en 0.5. Dit willekeurige getal zal voor elke waarde van Variabele X en Y opnieuw getrokken worden en bij X of Y worden opgeteld. Hierdoor zal X of Y soms iets hoger uitvallen en soms iets lager dan de waarde in werkelijkheid is. Dit doen we in het onderstaande screenshot met behulp van de volgende formules. Voor Jittered X gebruiken we in de eerste rij met gegevens in kolom D: = B2 + (RAND()-0.5)*$H$2 Deze fomule kunnen we vervolgens ook kopieren naar de Jittered Y kolom in cel E2, en deze wordt dan door Excel aangepast zodat naar cel C2 in plaats van B2 wordt verwezen: = C2 + (RAND()-0.5)*$H$2 Merk op dat we de verwijzing naar cel $H$2 absoluut (‘vast’) hebben gemaakt door middel van de dollartekens $. We kunnen nu deze formule naar alle overige rijen in kolom D en E kopieren of slepen, zoals in onderstaand screenshot is gedaan. Observeer hoe elke waarde van X en Y nu een klein beetje naar boven of onder is bijgesteld door deze formule. Aangezien het willekeurige getallen zijn die Excel elke keer opnieuw berekent zodra je iets aanpast kunnen deze getallen steeds weer veranderen. Dat is geen probleem. 3. Maak nu weer een nieuw scatterplot aan van Jittered X en Jittered Y volgens de instructies zoals gegeven bij oefenopdracht 1. Geef als titel op “Jittered scatterplot: Variabele X en Y”. Let op: Het is altijd belangrijk om duidelijk aan te geven dat het een “jittered” scatterplot betreft omdat de gegevens (een klein beetje) gemanipuleerd zijn. Je zult dan ongeveer de onderstaande scatterplot krijgen. We zeggen “ongeveer” omdat de willekeurige waardes die bij de originele waardes worden opgeteld of afgetrokken elke keer anders zullen zijn. Er zijn nu sowieso wel meer gegevenspunten zichtbaar dan in de originele 54 scatterplot van oefenopdracht 1. 4. Pas ten slotte voor het begrip de spread waarde aan van 0.3 naar 1. Je ziet dat die wolk van datapunten wordt ‘opgeblazen’. Afhankelijk van je doelen en de duidelijkheid kan dit wel of niet wenselijk zijn. Met de spreadwaarde kun je je scatterplot dus verder finetunen. Ten slotte, als je als spread waarde 0 invult dan zal er geen sprake meer zijn van jittering, en zie je weer een beperkt aantal datapunten in de scatterplot staan vanwege de overlappende combinaties van X en Y. 55 Instructies opdracht 3: Jittered grouped scatterplot 1. We gaan nu een nieuwe scatterplot maken, waarin we ook de leeftijdscategorieën gaan visualiseren. Dit noemen we een grouped scatterplot. Hiermee kunnen we visueel inspecteren of leeftijd ook een bepaalde patroon vertoond in zake de gevisualiseerde relatie tussen variabele X en Y. Omdat er weer veel overlap zal zijn tussen de datapunten in de scatterplot, gaan we ook weer de jittering techniek toepassen. Kopieer als eerst stap de kolommen A, B en C met de oorspronkelijke gegevens van Leeftijd, Variabele X en Variabele Y naar een nieuw worksheet. Noem deze worksheet “gegevens scatter 2” 2. Wat we uiteindelijk willen bereiken is dat we met verschillende kleuren datapunten in de scatterplot laten zien welke leeftijdscategorie bij elke datapunt hoort. We werken wederom met vier leeftijdscategorieën: 21-30; 31-40; 41-50; 51-60 jaar. Wat we in de volgende stappen gaan doen is eerst de data voorbereiden alsof we een aparte scatterplot voor elke leeftijdscategorie gaan maken. Als we de gegevens hebben voorbereid dan stoppen we deze gegevens uiteindelijk in één scatterplot. Maak hiervoor 8 kolomnamen in kolom D t/m K aan zoals in het onderstaande screenshot is weergeven. In kolom X (21-30) komen waardes van variabele X waar de leeftijd tussen de 21 en 30 jaar valt. In kolom Y (21-30) idem dito, maar dan voor variabele Y. Etc. Maak ook alvast een “spread” waarde aan voor de jittering in cel N2. 3. Kijk nu eerst naar de eerste rij gegevens voor variabele X en Y. Daar is leeftijd=48, X=3.33 en Y=6. Gezien de leeftijd van 48, willen we dat deze X en Y waardes in de categorie (groep) van respectievelijk “X (41-50)” (kolom H) en “Y (41-50)” (Kolom I) worden gezet. Uiteraard willen we het plaatsen van X en Y waardes in de verschillende categorieën automatiseren. Dus gaan we de IF functie van Excel gebruiken. De generieke IF functie bestaat uit drie argumenten: = IF(logical_test, value_if_true, value_if_false) Bij logical_test geef je een waarde of expressie op die of TRUE of FALSE is. Is deze 56 logical_test TRUE dan geeft Excel de waarde die opgegeven is in het value_if_true argument en is de logical_test FALSE dan geeft Excel de waarde die opgegeven is in het value_if_false argument. We beginnen met de leeftijdscatergorie 21 t/m 30 jaar in kolom D en zetten in cel D2 de volgende formule: = IF($A2<31,$B2,NA()) + (RAND()-0.5)*$N$2 Allereerst zoomen we kort in op het tweede gedeelte van deze formule: (RAND()0.5)*$N$2. Deze functie herken je wellicht nog uit de vorige oefenopdracht. Met deze formule maken we een klein willekeurig getal aan waarmee we de orginele waarde van de X variabele manipuleren, en waarmee we uiteindelijk een “jittered” scatterplot kunnen maken. We verwijzen voor de “spread” waarde naar cel $N$2 (absolute ‘vaste’ verwijzing). Als deze spread waarde niet is ingevoerd of op 0 staat zal er geen jitter effect te zien zijn, zie voor uitleg de vorige opdracht over de “jitter” techniek. Dan naar het eerste deel van de bovenstaande formule: IF($A2<31,$B2,NA()). De logical_test in deze formule is $A2<31, wat neerkomt op de vraag “Is de leeftijd in cel A2 kleiner dan 31 jaar?”. Het antwoord kan TRUE of FALSE zijn, en is in dit geval (zie cel A2 = 48 jaar) FALSE. We hoeven niet te controleren of de leeftijd groter dan of gelijk is aan 21, want er zitten geen leeftijden kleiner dan 21 in deze dataset. Als het antwoord op deze logical_test $A2<31 TRUE zou zijn, dan zou Excel de waarde die in cel $B2 staat geven (Variabele X). Het is belangrijk om het dollarteken $ voor $B2 op te merken. Hiermee maken we de verwijzing naar B kolom absoluut (‘vast’), hetgeen noodzakelijk is als we deze formule willen kopiëren naar andere kolommen. Is het antwoord op $A2<31 FALSE, zoals voor $A2 het geval is, dan geeft Excel de functie NA() terug. Dit komt neer op de tekst “#N/A” hetgeen “not available” betekent. De “#N/A” betekent hier dus dat de waarde van variabele X in de eerste gegevensrij niet bij leeftijdscategorie 21-30 jaar hoort. Een belangrijke eigenschap van de NA() functie is dat Excel deze cel daarna negeert in verdere berekeningen en grafieken. Zo zie je dat zodra de NA() wordt aangeroepen, de waarde in deze cel en andere cellen die naar deze cel verwijzen altijd #N/A blijft. Ook al tellen we een willekeurig getal bij deze cel op, dus bijvoorbeeld NA()+13.34, het antwoord blijft “#N/A”. Voor de “Y (21-30)” categorie gebruiken we dezelfde formule uit cel D2 in cel E2, maar dan verwijzen we uiteraard naar $C2 (kolom C bevat de waardes voor variabele Y) in plaats van $B2: = IF($A2<31,$C2,NA()) + (RAND()-0.5)*$N$2 57 Beide formules (in D2 en E2) kun je nu naar alle andere rijen met gegevens in kolom D en E kopieren of slepen. Hieronder zie je een deel van het resultaat. Merk op hoe de functie in elke rij zijn werk doet. 4. Voor de leeftijdscategorien 31-40 en 41-50 jaar gebruik je een iets andere formule, omdat je nu wel twee leeftijdcondities moet evalueren. Voor 31-40 jaar moet de leeftijd zowel groter zijn dan 30 als kleiner zijn dan 41. Deze dubbele conditie kun je controleren door de AND functie te gebruiken (je zou hier trouwens ook weer BOOLEAN logic kunnen toepassen, zie de eerdere oefenopdracht hierover). Zie hier de formule voor in cel F2: = IF(AND($A2>30,$A2<41),$B2,NA()) + (RAND()-0.5)*$N$2 De AND functie levert alleen TRUE op als zowel $A2>30 (leeftijd is groter dan 30 jaar) als $A2<41 (leeftijd is kleiner dan 41 jaar) gelden. In alle andere gevallen is de uitkomst FALSE. Formule voor in cel G2 (merk op dat het enige verschil is dat $B2 is veranderd in $C2): = IF(AND($A2>30,$A2<41),$C2,NA()) + (RAND()-0.5)*$N$2 Beide formules kun je kopieren naar de overige rijen met gegevens van kolom F en G, zie hieronder voor een gedeelte van het resultaat. 58 5. Voor de leeftijdscategorie 41-50 moet de leeftijd zowel groter zijn dan 40 als kleiner zijn dan 51. Dat levert de volgende formule op in cel H2. = IF(AND($A2>40,$A2<51),$B2,NA()) + (RAND()-0.5)*$N$2 En in cel I2: = IF(AND($A2>40,$A2<51),$C2,NA()) + (RAND()-0.5)*$N$2 Kopieer of sleep de formules in H2 en I2 naar de overige rijen met gegevens in kolom H en I. 6. Ten slotte, moeten we de formules invoeren voor leeftijdscategorie 51-60 jaar. We weten dat er in de dataset geen leeftijden boven de 60 zitten, dus we hoeven alleen te controleren op een leeftijd hoger dan 50 jaar. In cel J2 komt de volgende formule te staan: = IF($A2>50,$B2,NA())+(RAND()-0.5)*$N$2 En in cel K2: = IF($A2>50,$C2,NA())+(RAND()-0.5)*$N$2 Kopieer of sleep de formules in J2 en K2 naar de overige rijen met gegevens in kolom J en K. 7. Nu staat alles klaar om de jittered grouped scatterplot te maken. Wederom doen we dit stap voor stap We beginnen met de variabele X en Y voor leeftijdscategorie 21-30 jaar. Selecteer hiervoor zowel kolom D als kolom E en volg vervolgens precies dezelfde stappen en instructies op als bij oefenopdracht 1 van deze oefenopgave. Voeg dus ook titels toe bij de assen en geeft de scatterplot de titel “Jittered grouped scatterchart: Variabele X en Y”. Zie onderstaand 59 screenshot voor wat je ongeveer (we manipuleren de data een klein beetje met random getallen, dus het is elke keer en voor iedereen net iets anders) zou moeten krijgen. Je ziet meteen iets opmerkelijks. Respondenten in de leeftijdscategorie 21-30 jaar lijken alleen lage X scores gecombineerd met hoge Y scores te hebben (X tussen 1 en 2; Y tussen 4 en 7), of hoge X scores gecombineerd met lage Y scores (X tussen 6 en 7; Y tussen 1 en 2). Er is duidelijke sprake van een “gat” bij deze leeftijdscategorie. 8. Klik op de scatterplot en vervolgens op het groene plusje dat links- of rechtsboven de plot verschijnt. Selecteer ditmaal “Legend”. Je ziet nu rechts van de scatterplot een blauwe punt met Y (21-30) als legenda. Dit label is een aanname van Excel. Het is echter niet helemaal correct. De blauwe punten betreffen X en Ycombinaties, en een logischere naam is simpelweg: “21-30 jaar”. 60 Om dit aan te passen, klik met de rechter muisknop op de scatterplot en klik op “Select data”. Selecteer vervolgens Y (21-30) in het Select Data Source scherm, zie ook onder, en klik op Edit. Vul vervolgens in het venstertje Edit Series bij Series Name het volgende in (zie ook volgende screenshot): = “21 – 30 jaar” En sluit af met Enter of druk OK. Hiermee geven we aan dat deze rijen gegevens leeftijdscategorie 21 t/m 30 jaar betreffen. Merk op dat zodra je een pijltjestoetsen gebruikt bij het invoeren (bijv. om een spatie aan te passen) Excel meerdere cellen gaat selecteren. Dat is niet de bedoeling. Verwijder dan de invoer bij Series Name en begin dan gewoon opnieuw met invoeren. 9. Druk vervolgens nog een keer op OK in het venster Select Data Source. 61 10. Om te kijken hoe de andere leeftijdscategorien zich “gedragen”, voegen we de rijen voor de overige leeftijdscategorien één voor één toe aan de scatterplot. Volg hiervoor elke keer de volgende procedure: a. Klik met rechtermuisknop op de scatterplot en klik op Select Data… b. Klik in het Select Data Source venster op Add c. Voer in het Edit Series venster bij Series name de eerstvolgende leeftijdscategorie in, bijvoorbeeld: d. Klik vervolgens bij Series X values op het symbooltje en selecteer de gegevens die bij de X variabele horen voor deze leeftijdscategorie. Bijvoorbeeld voor 31-40 jaar selecteer je cellen F2 t/m F393 met je muis, zie onder. Handmatig/textueel invoeren kan ook maar is lastiger (en je moet de juiste titel van het worksheet invullen!) Klik als je klaar bent met selecteren op het symbool. e. Klik vervolgens bij Series Y values op het symbooltje. Haal daar ={1} weg met backspace of delete en selecteer de gegevens die bij de Y variabele horen voor deze leeftijdscategorie. Bijvoorbeeld voor 31-40 jaar is dat G2 t/m G393. Klik vervolgens op het symbool. Het volgende zou nu in het venster moeten staan: 62 f. Klik op OK in het bovenstaande Edit Series venstertje, en nogmaals op OK in het Select Data Source venster. Als het goed is, is een extra set datapunten toegevoegd aan de scatterplot. Deze extra set datapunten heeft een andere kleur en de corresponderende leeftijdscategorie is toegevoegd aan de legenda. g. Herhaal nu stappen a t/m f voor de overige twee leeftijdscategorien. 11. De uiteindelijke scatterplot moet er ongeveer als volgt uit zien: 8 7 Variabele Y 6 5 21-30jr 4 31-40jr 3 41-50jr 2 51-60jr 1 0 0 1 2 3 4 5 6 7 8 Variabele X Wat valt op? Er lijken clusters te zijn op basis van bepaalde leeftijdscategorien. Als onderzoeker zou je hier misschien al een verwachting over kunnen hebben voordat je de data gaat analyseren (bijvoorbeeld op basis van een bepaalde theorie), maar het kan ook zijn dat het een verassende uitkomst is. Dat is het mooie van dergelijke scatterplots: je kunt je verwachtingen controleren of je kunt onverwachte patronen op het spoor komen. Als je nog wat meer spreiding/onderscheid tussen de datapunten wilt, kun je de spread waarde in cel N2 iets verhogen. Voor deze oefenopdracht laten we het hier bij. 63