Jak zpracovat domácí úkol Tento text vám poskytne praktické rady, jak zpracovat domáci úkol, abyste získali plný počet bodů. Executive summary 1. Vytvořte nový adresář a vložte do něj zadaný R skript, který máte upravit, i vzorová data. Jména nijak neměňte. V RStudiu nastavte cestu do tohoto adresáře. Nepoužívejte absolutní cesty. 2. Zadaný skript editujte v editoru RStudia. Výsledek uložte jako R skript. 3. Pokud něco přetáhnete z konzoly, nezkopírujte i prompt (">"). 4. V R se desetinná místa oddělují tečkou, parametry funkcí čárkou. 5. Na začátku skriptu načtěte potřebné balíky (jen ty používané v textu a na cvičeních). Nikdy balíky ve skriptu neinstalujte! 6. Nic nekódujte "na tvrdo". 7. V editoru vyzkoušejte řádek po řádku. Když vše funguje, restartujte R a vyzkoušejte celý skript v čistém prostředí. Odevzdejte, jen když toto funguje. 8. Svoje řešení vložte do příslušné odevzdávárny v ISu nejpozději den před následujícím cvičením do 18.00. Nemailujte je! Jak funguje strojové vyhodnocování úkolů Bodování domácích úkolů funguje tak, že se váš R skript nahraje do nového adresáře, ve kterém jsou umístěna všechna potřebná data. Následně robot vezme váš R skript, spustí jej a porovná jeho výsledky s oficiálními výsledky. Pokud budou výsledky stejné, dostanete plný počet bodů. Pokud váš skript zhavaruje, dostanete nula bodů. Pokud splníte jen část úkolů, dostanete jen část bodů. Váš R skript se bude spouštět pod operačním systémem Linux, který má určité odlišnosti od Windows. Tyto odlišnosti jsou popsané níže - respektujte je. Váš skript se také bude spouštět s jinými daty, než která jste dostali k jeho ladění. Struktura dat bude stejná a bude odpovídat popisu v zadání a vzorovým datům. Jednotlivé hodnoty však budou jiné. Váš skript tedy nemůže vložit výsledek získaný na vzorových datech, protože skutečný výsledek bude při testování jiný. Při testování se také nepoužívají žádné jiné soubory než váš R skript. Nevkládejte je do odevzdávárny. Detailní vysvětlení pokynů Zadání domácího úkolu se typicky skládá ze tří částí: 1) textu zadání, který říká, co se má udělat, 2) R skriptu, který máte upravit, a 3) dat, na kterých si můžete svůj kód vyzkoušet. Vaše řešení bude upravený R skript, který vložíte do odevzdávárny v ISu. Skript musí jít nahrát do RStudia a spustit, a to nejen na vašem počítači. Jiné soubory než upravený R skript se ignorují - nevkládejte je do odevzdávárny. Při řešení domácích úkolů můžete spolupracovat, každý student však musí odevzdat vlastní řešení. Spoluprací se rozumí společná práce na daném kusu kódu, nikoli to, že student odevzdá skript, na jehož tvorbě se nepodílel. Při úpravě svého R skriptu postupujte takto: 1. Na každou úlohu vytvořte nový adresář a vložte do něj zadaný R skript, který máte upravit, a všechny další potřebné soubory. Neměňte názvy žádných souborů, ani R skriptu, ani dat! Na Linuxu záleží i na velikosti písmen, takže soubor "Cars.dat" není totéž, co "cars.dat". 1 2. Zadaný R skript otevřete v editoru RStudia a upravujte jej pouze v něm. Upravujte pouze řádky, které jsou k tomu určené - žádné jiné. Výsledek uložte opět jako R skript, tj. textový soubor s příponou ".R". Pokud svoje řešení otevřete, a pak uložíte ve Wordu nebo něčem podobném, pak váš R skript nepůjde spustit, takže nula bodů! Skript také nijak nepřejmenovávejte - jeho jméno musí zůstat takové, jaké je v zadání, jinak se při testování skript nenajde, tudíž nula bodů! Zejména nepřidávejte ke jménu souboru "něco.R" koncovku ".txt", takže výsledek by byl "něco.R.txt" - pak se při testování váš skript vůbec nenajde, takže nula bodů! 3. Pokud něco přetáhnete z konzoly, dejte pozor, ať nepřetáhnete i "prompt", tj. "zobáky" (>). Skript by při spuštění zhavaroval, takže nula bodů! 4. Pamatujte, že v R se desetinná místa oddělují tečkou, zatímco parametry funkcí čárkou! 5. Pokud ve skriptu používáte nějaký balík, musíte jej na začátku skriptu načíst funkcí libraryO -bez toho se funkce a data z balíku nenačtou a váš kód při testování zhavaruje. (Nenačítejte balíky kliknutím v RStudiu - při testování za vás nikdo neklikne.) Nikdy však ve skriptu balíky neinstalujte pomocí funkce install. packages () ani žádné podobné funkce. Pokud se pokusíte ve skriptu instalovat balík, skript skončí chybou, takže nula bodů! Používejte pouze balíky, o kterých byla řeč na cvičeních a ve video-tutoriálech. V opačném případě se balík nenajde a skript skončí chybou, takže nula bodů! 6. Při psaní skriptu si vždy uložte data do stejného adresáře v jakém máte skript a nastavte tento adresář jako pracovní (buď pomocí funkce setwdO nebo v RStudiu v záložce Files). Cestu k datům ve skriptu nijak neměňte (počítá se s tím, že data jsou umístěna v aktuálním adresáři). Ve cvičeních, kde nastavujete cestu k datům ve skriptu sami, ji nastavte do aktuální adresáře. (Pokud se datový soubor jmenuje "data.RData", použijte cestu "data.RData" nebo "./data.RData".) Pokud nastavíte jinou cestu, data se při testování nenajdou, kód zhavaruje, tudíž nula bodů! Nikdy nepoužívejte absolutní cesty (typu "C:\moje cosi\data.RData"). Neměňte také zadaná jména souborů, a to ani velikost písmem. Váš skript budeme testovat na Linuxu, kde soubor "cars.dat" není totéž, co "Cars.dat". 7. Vaše řešení (skript) musí fungovat pro každá data, která strukturálně splňují zadání úkolu. K ladění kódu dostanete jiná data, než jaká se použijí k testování. To znamená, že nemůžete žádná data vytvářet a měnit "natvrdo". Příklad: úkol stanoví, že máte vytvořit vektor celých čísel od 1 do n. V zadaných datech bude n = 5. Mohli byste být v pokušení napsat v kódu c(l, 2, 3, 4, 5). Nedělejte to však: při verifikaci kódu může být n = 106. Většina domácích úkolů bude opravovaná strojově tak, že se automaticky spustí a výsledky vašeho kódu se porovnají s oficiálním řešením. 8. V editoru RStudia svůj kód vyzkoušejte řádek po řádku (Ctrl-Enter). Pokud něco nefunguje, vyřešte problém. 9. Až skript upravíte, uložte jej a vyzkoušejte v čistém pracovním prostředí R. To uděláte tak, že svůj skript uložíte, restartujete R (v RStudiu Session—^Restart R nebo klávesovou zkratkou Ctrl-Shif t-FlO). V takto čistém R spusťte svůj skript pomocí funkce sourceO nebo v RStudiu klikátkem Source vpravo nad editorem. Tento postup vám ukáže, že jste skutečně zadefinovali všechny potřebné proměnné, načetli všechny potřebné balíky apod. Pokud po restartu R vše poběží, jak má, snad to bude fungovat i při testování. Svůj R skript můžete odevzdat teprve ve chvíli, kdy vše projde tímto krokem bez problémů. Jak řešení odvezdat 1. Než svoje řešení (skript) odevzdáte, přečtěte si znovu zadání a zkontrolujte si, že jste splnili všechny jeho části! 2. Než řešení odevzdáte, vyzkoušejte, že běží, viz poslední dva body v předchozí sekci. 3. Svoje řešení (upravený skript) neposílejte mailem ani jinak - vložte jej do příslušné odevzdávárny v ISu (která to je, to najdete v interaktivní osnově). Do odevzdávárny ulože jen skript, nic jiného (ani data, ani komentáře, ani nic jiného). 4. Domácí úkol musí být vložen do příslušné odevzdávárny nejpozději den před následujícím cvičením do 18.00. 2