R LanguageAan de slag met R Language


Opmerkingen

R-documenten bewerken op Stack Overflow

Raadpleeg de documentatierichtlijnen voor algemene regels bij het maken van documentatie.

Een paar kenmerken van R die immigranten uit een andere taal ongebruikelijk vinden

  • In tegenstelling tot andere talen hoeven variabelen in R geen typeaangifte te vereisen.
  • Aan dezelfde variabele kunnen indien nodig verschillende gegevenstypen op verschillende tijdstippen worden toegewezen.
  • Het indexeren van atoomvectoren en lijsten begint bij 1, niet bij 0.
  • R- arrays (en het speciale geval van matrices) hebben een dim eigenschap die hen onderscheidt van de "atoomvectoren" van R die geen attributen hebben.
  • Met een lijst in R kunt u een verscheidenheid aan objecten onder één naam (dat wil zeggen de naam van de lijst) op een geordende manier verzamelen. Deze objecten kunnen matrices , vectoren , gegevensframes , zelfs andere lijsten , enz. Zijn. Het is zelfs niet vereist dat deze objecten op enigerlei wijze aan elkaar gerelateerd zijn.
  • recycling
  • Ontbrekende waarden

Hulp krijgen

U kunt functie help() of ? om toegang te krijgen tot documentatie en hulp te zoeken in R. Voor nog meer algemene zoekopdrachten kunt u help.search() of ?? .

#For help on the help function of R
help()

#For help on the paste function
help(paste)    #OR
help("paste")  #OR
?paste         #OR
?"paste"
 

Ga naar https://www.r-project.org/help.html voor aanvullende informatie

Hallo Wereld!

"Hello World!"
 

Bekijk ook de gedetailleerde discussie over hoe, wanneer, of en waarom een string moet worden afgedrukt .

R installeren

Mogelijk wilt u RStudio installeren nadat u R. hebt geïnstalleerd. RStudio is een ontwikkelomgeving voor R die veel programmeertaken vereenvoudigt.

Alleen Windows:

Visual Studio (vanaf versie 2015 Update 3) beschikt nu over een ontwikkelomgeving voor R genaamd R Tools , met een live interpreter, IntelliSense en een debugging-module. Als u deze methode kiest, hoeft u R niet te installeren zoals gespecificeerd in de volgende sectie.

Voor ramen

  1. Ga naar de CRAN- website, klik op download R voor Windows en download de nieuwste versie van R.
  2. Klik met de rechtermuisknop op het installatiebestand en voer UIT als beheerder.
  3. Selecteer de operationele taal voor installatie.
  4. Volg de instructies voor installatie.

Voor OSX / macOS

Alternatief 1

(0. Zorg dat XQuartz is geïnstalleerd)

  1. Ga naar de CRAN- website en download de nieuwste versie van R.
  2. Open de schijfkopie en voer het installatieprogramma uit.
  3. Volg de instructies voor installatie.

Hiermee worden zowel R als de R-MacGUI geïnstalleerd. Het zal de GUI in de / Applications / Folder plaatsen als R.app waar het kan worden dubbelklikt of naar de Doc kan worden gesleept. Wanneer een nieuwe versie wordt vrijgegeven, zal het (her) installatieproces R.app overschrijven, maar eerdere belangrijke versies van R blijven behouden. De werkelijke R-code staat in de map /Library/Frameworks/R.Framework/Versions/. Het gebruik van R binnen RStudio is ook mogelijk en zou dezelfde R-code met een andere GUI gebruiken.

Alternatief 2

  1. Installeer homebrew (de ontbrekende pakketbeheerder voor macOS) door de instructies op https://brew.sh/ te volgen
  2. brew install R

Degenen die voor de tweede methode kiezen, moeten zich ervan bewust zijn dat de beheerder van de Mac-vork het afraadt en niet zal reageren op vragen over problemen op de R-SIG-Mac-mailinglijst.

Voor Debian, Ubuntu en derivaten

Je kunt de versie van R krijgen die overeenkomt met je distro via apt-get . Deze versie zal echter vaak ver achterlopen op de meest recente versie die beschikbaar is op CRAN. U kunt CRAN toevoegen aan uw lijst met erkende "bronnen".

sudo apt-get install r-base
 

U kunt een recentere versie rechtstreeks van CRAN verkrijgen door CRAN aan uw bronnenlijst toe te voegen. Volg de aanwijzingen van CRAN voor meer informatie. Let met name op de noodzaak om dit ook uit te voeren, zodat u install.packages() kunt gebruiken. Linux-pakketten worden meestal als bronbestanden gedistribueerd en moeten worden gecompileerd:

sudo apt-get install r-base-dev
 

Voor Red Hat en Fedora

sudo dnf install R
 

Voor Archlinux

R is direct beschikbaar in de repo Extra pakket.

sudo pacman -S r

Meer informatie over het gebruik van R onder Archlinux is te vinden op de ArchWiki R-pagina .

Interactieve modus en R-scripts

De interactieve modus

De meest eenvoudige manier om R te gebruiken is de interactieve modus. Je typt commando's en krijgt direct het resultaat van R.

R gebruiken als rekenmachine

Start R door het intikken van R bij de opdrachtprompt van uw besturingssysteem of door het uitvoeren van RGui op Windows. Hieronder zie je een screenshot van een interactieve R-sessie op Linux:

Schermafbeelding van een Linux-terminal die R uitvoert

Dit is RGui op Windows, de meest elementaire werkomgeving voor R onder Windows: Schermafbeelding van een RGui-terminal op Windows

Na het > teken kunnen uitdrukkingen worden ingetypt. Zodra een uitdrukking wordt getypt, wordt het resultaat weergegeven door R. In de bovenstaande schermafbeelding wordt R gebruikt als een rekenmachine: Type

1+1
 

om het resultaat onmiddellijk te zien, 2 . De voorloop [1] geeft aan dat R een vector retourneert. In dit geval bevat de vector slechts één nummer (2).

Het eerste plot

R kan worden gebruikt om plots te genereren. In het volgende voorbeeld wordt de gegevensset PlantGrowth , die samen met R als voorbeeldgegevensset wordt geleverd

Typ int de volgende regels in de R-prompt die niet beginnen met ## . Regels die beginnen met ## zijn bedoeld om het resultaat te documenteren dat R zal retourneren.

data(PlantGrowth)
str(PlantGrowth)
## 'data.frame':    30 obs. of  2 variables:
## $ weight: num  4.17 5.58 5.18 6.11 4.5 4.61 5.17 4.53 5.33 5.14 ...
## $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 1 1 1 1 1 1 1 1 1 ...
anova(lm(weight ~ group, data = PlantGrowth))
## Analysis of Variance Table
## 
## Response: weight
##           Df  Sum Sq Mean Sq F value  Pr(>F)  
## group      2  3.7663  1.8832  4.8461 0.01591 *
## Residuals 27 10.4921  0.3886                  
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
 

De volgende plot is gemaakt:

Boxplot, gemaakt op basis van de voorbeeldgegevensset van PlantGrowth

data(PlantGrowth) laadt de voorbeeldgegevensset PlantGrowth , die records is van droge massa's van planten die onderworpen waren aan twee verschillende behandelingsomstandigheden of helemaal geen behandeling (controlegroep). De gegevensset wordt beschikbaar gesteld onder de naam PlantGrowth . Een dergelijke naam wordt ook een variabele genoemd .

Om uw eigen gegevens te laden, kunnen de volgende twee documentatiepagina's nuttig zijn:

str(PlantGrowth) toont informatie over de dataset die werd geladen. De uitvoer geeft aan dat PlantGrowth een data.frame , wat R's naam is voor een tabel. Het data.frame bevat twee kolommen en 30 rijen. In dit geval komt elke rij overeen met één plant. Details van de twee kolommen worden weergegeven in de regels die beginnen met $ : de eerste kolom wordt weight en bevat getallen ( num , het droge gewicht van de respectieve plant). De tweede kolom, group , bevat de behandeling die de plant heeft ondergaan. Dit zijn categoriale gegevens, die factor in R worden genoemd. Lees meer informatie over gegevensframes .

Om de droge massa van de drie verschillende groepen te vergelijken, wordt een ANOVA in één richting uitgevoerd met behulp van anova(lm( ... )) . weight ~ group betekent "Vergelijk de waarden van de kolom weight groeperen door de waarden van de kolom group ". Dit wordt een formule genoemd in R. data = ... geeft de naam van de tabel aan waar de gegevens kunnen worden gevonden.

Het resultaat toont onder andere dat er een significant verschil (kolom Pr(>F) ), p = 0.01591 ) bestaat tussen enkele van de drie groepen. Post-hoc tests, zoals Tukey's Test, moeten worden uitgevoerd om te bepalen welke groepen 'middelen aanzienlijk verschillen.

boxplot(...) maakt een boxplot van de gegevens. waar de te plotten waarden vandaan komen. weight ~ group betekent: "Zet de waarden van het gewicht kolom versus de waarden van de kolom group . ylab = ... specificeert het label van de y-as. Meer informatie: Base plotting

Typ q() of Ctrl - D om de R-sessie te verlaten.

R scripts

Om uw onderzoek te documenteren, is het gunstig om de opdrachten die u voor berekening gebruikt in een bestand op te slaan. Voor dat effect kunt u R-scripts maken . Een R-script is een eenvoudig tekstbestand dat R-opdrachten bevat.

Maak een tekstbestand met de naam plants.R en vul het met de volgende tekst, waarvan sommige opdrachten bekend zijn uit het codeblok hierboven:

data(PlantGrowth)

anova(lm(weight ~ group, data = PlantGrowth))

png("plant_boxplot.png", width = 400, height = 300)
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
dev.off()    
 

Voer het script uit door in uw terminal te typen (de terminal van uw besturingssysteem, geen interactieve R-sessie zoals in de vorige sectie!)

R --no-save <plant.R >plant_result.txt
 

Het bestand plant_result.txt bevat de resultaten van uw berekening, alsof u deze in de interactieve R-prompt hebt getypt. Daardoor worden uw berekeningen gedocumenteerd.

De nieuwe opdrachten png en dev.off worden gebruikt om de boxplot op schijf op te slaan. De twee commando's moeten het plotcommando omsluiten, zoals getoond in het bovenstaande voorbeeld. png("FILENAME", width = ..., height = ...) opent een nieuw PNG-bestand met de opgegeven bestandsnaam, breedte en hoogte in pixels. dev.off() zal het plotten voltooien en slaat de plot op schijf op. Er wordt geen uitvoer opgeslagen totdat dev.off() wordt aangeroepen.