For faster navigation, this Iframe is preloading the Wikiwand page for R (ohjelmointikieli).

R (ohjelmointikieli)

Wikipediasta

R
Kehittäjä Ross Ihaka, Robert Gentleman
Vakaa versio 4.4.1 ()[1]
Vaikutteet S, Scheme
Verkkosivu https://www.r-project.org

R on ohjelmointikieli ja ohjelmointiympäristö tilastolliseen laskentaan ja grafiikan tuottamiseen.[2] R on GNU-projekti, joka on samankaltainen kuin Bell Labsilla kehitetty S-kieli ja sen ympäristö.[2]

R-kielellä voi tehdä muutamalla rivillä asioita, jotka vaatisivat tunteja taulukkolaskentaohjelmalla tai sivuittain Java-koodia.[3] R ei kuitenkaan sovellu monimutkaisiin tietorakenteisiin, tehokkaseen tiedon kyselyyn tai työskentelyyn tietojoukoilla, jotka eivät mahdu tietokoneen muistiin.[3]

Kieltä käytetään data-analyysiin akateemisessa maailmassa ja suurissa yrityksissä.[4] Kielestä sanotaan tulleen lingua franca tiedonlouhinnan edettyä kulta-ajalle.[4] Kielen sanotaan saaneen seuraajia koska tilastotieteilijät, insinöörit ja tieteilijät joilla ei ole ohjelmointiosaamista kokevat sen helpoksi käyttää.[4] Kieleen on julkaistu vuoteen 2017 mennessä yli 10 000 laajennuspakettia.[5]

Kielen ovat kehittäneet Aucklandin yliopistossa Uudessa-Seelannissa Ross Ihaka ja Robert Gentleman.[4][6] R-ohjelmointikielessä on vaikutteita John Chambersin kehittämästä S-kielestä, sekä Scheme-kielestä.[6]

Tekijät julkaisivat R:n avoimena lähdekoodina ja se on vapaasti saatavissa GNU GPL -lisenssin alla.[4][2]

Ohjelmaversio 4.2.1 julkaistiin kesäkuussa 2022.[7]

Kieli on suunniteltu aidon ohjelmointikielen ympärille ja se mahdollistaa laajentamisen uusien funktioiden lisäämisellä.[2]

Yksinkertainen interaktiivinen käyttötapaus:[3]

> 1 + 2 + 3
[1] 6

Tulostettava palaute kertoo hakasuluissa indeksin ja sen jälkeen arvon. R-kielessä jokainen konsolissa syötetty arvo tulkitaan vektorina.[3]

Pidempiä vektoreita voidaan syöttää c()-funktion (lyhenne sanasta combine) kautta:[3]

> c(0, 1, 1, 2, 3, 5, 8)
[1] 0 1 1 2 3 5 8

Muuttujaan sijoittaminen ja lausekkeen suorittaminen muuttujilla:[3]

> x <- 1
> y <- 2
> z <- c(x,y)
> z
[1] 1 2

Kieli tukee olio-ohjelmointia.[3]

Ohjelmointiympäristö

[muokkaa | muokkaa wikitekstiä]

Kielen ohjelmointiympäristöstä on saatavilla useita versiota: sitä voidaan käyttää komentoriviltä, graafisen käyttöliittymän kautta tai laajennuksena muihin sovelluksiin kuten Emacsiin.[3]

Ohjelmasta on saatavilla käännetyt binääriversiot on tarjolla Windows-, Macintosh- sekä monille Unix-järjestelmille. Graafisia käyttöliittymiä ovat muun muassa RStudio, GR, RKWard, SciViews-R ja Rcmdr.

R-kielelle on saatavilla laajennuksia, jotka ovat useiden käyttäjien tuottamia toimintokirjastoja. Lisäpaketit sisältävät usein funktiota ja työkaluja, joiden avulla tiettyjen ongelmien ratkaisu helpottuu oleellisesti, kun taas toiset lisäpaketit sisältävät työkaluja uusien tilastollisten menetelmien käyttöön.

Laajennuspaketteja voi asentaa CRAN (Comprehensive R Archive Network) -palvelusta komennolla[8]

install.packages("thepackagename")

jossa thepackagename on asennettavan paketin nimi.

Esimerkkiohjelma

[muokkaa | muokkaa wikitekstiä]

Alla oleva R-kielinen ohjelma tekee Mandelbrotin joukkoa kuvaavan GIF-animaation.

install.packages("caTools")  # install external package
library(caTools)             # external package providing write.gif function
jet.colors <- colorRampPalette(c("red", "blue", "#007FFF", "cyan", "#7FFF7F",
                                 "yellow", "#FF7F00", "red", "#7F0000"))
dx <- 1500                    # define width
dy <- 1400                    # define height
C  <- complex(real = rep(seq(-2.2, 1.0, length.out = dx), each = dy),
              imag = rep(seq(-1.2, 1.2, length.out = dy), dx))
C <- matrix(C, dy, dx)       # reshape as square matrix of complex numbers
Z <- 0                       # initialize Z to zero
X <- array(0, c(dy, dx, 20)) # initialize output 3D array
for (k in 1:20) {            # loop with 20 iterations
  Z <- Z^2 + C               # the central difference equation
  X[, , k] <- exp(-abs(Z))   # capture results
}
write.gif(X, "Mandelbrot.gif", col = jet.colors, delay = 100)

"Mandelbrot.gif" – graphics created in R with 14 lines of code in Example 2

R:n heikkoina kohtina pidetään tietoturvaa, muistinhallintaa ja suorituksen hitautta.[9][10] Esimerkiksi GIS:issä rasterietäisyyden laskemiseen käytettävä distance() on hidas, jos vertaa GIS-ohjelmaan. Muistinhallintaa sanotaan huonoksi ja hitaaksi. Kieltä sanotaan aloittelijalle vaikeaksi ja siinä on jyrkkä oppimiskäyrä.[11] R:n kehittyessä kaikkia paketteja ei päivitetä. Ohjelmapakettien avusteet voivat olla puutteellisia.[12]

  1. (en) R 4.4.1 is released, (viitattu ). Tieto on haettu Wikidatasta.
  2. a b c d What is R? r-project.org. Viitattu 25.9.2019. (englanniksi)
  3. a b c d e f g h Adler, Joseph: R in a Nutshell. O'Reilly, 2012. ISBN 978-1-449-31208-4.
  4. a b c d e Ashlee Vance: Data Analysts Captivated by R’s Power 6.1.2009. The New York Times. Viitattu 26.9.2019. (englanniksi) 
  5. Sharon Machlis: Beginner's guide to R: Introduction 18.8.2017. Computerworld. Viitattu 26.9.2019. (englanniksi) 
  6. a b Ihaka, Ross: R : Past and Future History A Draft of a Paper for Interface '98. Viitattu 16.2.2015.
  7. Dalgaard, Peter: R 4.2.1 is released The R-announce mailing list. 23.6.2022. Viitattu 24.9.2022. (englanniksi)
  8. Sharon Machlis: Beginner's guide to R: Introduction (sivu 3) 18.8.2017. Computerworld. Viitattu 26.9.2019. (englanniksi) 
  9. Community Manager: Pros and Cons of R Language IIHT. 19.4.2019. Viitattu 25.11.2019. (englanniksi)[vanhentunut linkki]
  10. Paul Krill: Why R? The pros and cons of the R language InfoWorld. 30.6.2015. Viitattu 25.11.2019. (englanniksi)
  11. DataFlair Team: Pros and Cons of R Programming Language - Unveil the Essential Aspects! DataFlair. 16.7.2019. Viitattu 25.11.2019. (englanniksi)
  12. Pros and Cons of R mjwebster.github.io. Viitattu 25.11.2019.

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
{{bottomLinkPreText}} {{bottomLinkText}}
R (ohjelmointikieli)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?