Göm menyn

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
Använd ovannämnda kod-filer som referens om det behövs när ni gör följande övningar:
  1. Gör en funktion som skriver ut "Hello, world!"
  2. Gör en funktion som tar ett argument (namn) och skriver ut "Hej, [namn]!"
  3. Gör en funktion som tar två argument och returnerar summan av dem.
  4. Skapa en vektor med siffrorna 0 till och med 9.
  5. Skriv en for-loop som skriver ut dubbla värdet av varje element i en vektor.
  6. Gör en funktion som räknar ut summan av alla element i en vektor.
  7. Skapa en data-frame med två kolumner: längd och vikt (hitta på data).
  8. 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ärna paste vid utskriften.
  9. Utför en regressionsanalys (lm) på längd och vikt.
  10. 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