732G16 Databaser: design och programmering
Repetition R-programmering
Motivering & Syfte
Denna uppgift syftar till att repetera viss nyttig R-funktionalitet, som en förberedelse inför uppgifterna 3 och 4. Uppgiften innebär inte någon redovisning utan ska fungera som ett hjälpmedel. Titta igenom och kör exemplena/övningarna i R-studio tills ni känner er redo att börja med uppgift 3 och använd sedan detta som referens när ni arbetar med de sista uppgifterna. Förberedelserna i denna uppgift krävs för nästkommande uppgifter, men efter dessa är det ok att hoppa direkt till uppgift 3 om ni känner att ni behärskar grundläggande R.
Förberedelser
Installera rätt paket i R
Börja med att ladda ner denna fil: connector. Placera denna i mappen "Z:\732G16\uppg4".
Öppna sedan RStudio och i menyn klicka på "Tools" och sedan "Options". I den ruta som öppnas klickar du på "Change..." och väljer i den nya rutan "Use your machine's default version of R (32-bit)", detta är i de flesta fall val nummer 2. Var noga med att ni valt 32-bit och inte 64-bit. Klicka sedan "Ok" sedan "Ok" igen och "Ok" igen. Stäng ner RStudio och öppna RStudio igen.
När RStudio har öppnats andra gången skriver ni i console följade två kommandon (först den ena, sedan den andra):
- install.packages("rJava")
- install.packages("RJDBC")
Om ni får felmeddelandet Error in .jfindClass(as.character(driverClass)[1]) : class not found
, behöver ni köra följande rad:
.jaddClassPath("Z:\\732G16\\mysql-connector-java-5.1.12-bin.jar")
,
förstås med korrekt sökväg till connectorn som ni laddade ner tidigare.
Övningar
Här hittar ni exempelkod som visar på den funktionalitet vi behöver använda oss av för uppgift 4 och 5. Längst ner i filen har ni kod som ni kan kopiera in i era egna projekt för att kommunicera med databasen.Ni kan också titta på https://github.com/MansMeg/KursRprgm/tree/master/Demonstrations för ytterligare exempel (materialet är från Måns Magnussons introduktionskurs i R). Se kursinformationen för 732G33 för tillhörande slides.
OBS: Prata med er labbassistent om något inte fungerar. Spendera inte massor med tid på detta, fråga direkt istället. Detta gäller även om det verkar fungera men ni inte förstår varför.
I uppgift 3 och 4 kommer ni att behöva kommunicera med databasen från R. Sammanfattningsvis ska ni i R göra:- Läsa in data från en csv-fil
- Skriva in datat i rätt tabeller i er databas
- Hämta ut data från er databas
- Genomföra linjär regression och spara resultatet
- Gör en funktion som skriver ut "Hello, world!"
- Gör en funktion som tar ett argument (namn) och skriver ut "Hej, [namn]!"
- Gör en funktion som tar två argument och returnerar summan av dem.
- Skapa en vektor med siffrorna 0 till och med 9.
- Skriv en for-loop som skriver ut dubbla värdet av varje element i en vektor.
- Gör en funktion som räknar ut summan av alla element i en vektor.
- Skapa en data-frame med två kolumner: längd och vikt (hitta på data).
- Skriv en foor-loop som skriver ut längd och vikt på formen
Vikt: 59, Längd: 170
, givet data-framen ni skapade innan. Använd gärnapaste
vid utskriften. - Utför en regressionsanalys (
lm
) på längd och vikt. - Ta fram ett diagram som visualiserar regressionslinjen.
Med ovanstående punkter och övningar i åtanke, fundera över nedanstående frågor under tiden ni bekantar er med R-koden:
- Fundera på hur ni med kommandot
paste
kan bygga sql-frågor (insert
för att infoga data,select
för att hämta data) programmatiskt - Läsa in data från en csv-fil till ett dataframe-objekt i R
- Iterera över alla rader i en dataframe och plocka ut värden kolumnvis
- Genomföra linjär regression (
lm
)
Redovisning
Denna uppgift behöver inte redovisas.
Sidansvarig: Eva Ragnemalm
Senast uppdaterad: 2019-03-14