Takaisin blogiin
Blogi

R:n opiskelu | Osa 2 | Muuttujat ja funktiot

Dec 10, 2020·5 min read·Palomi Jain
#Data Analytics#Data Science#R#Rstudio
R:n opiskelu | Osa 2 | Muuttujat ja funktiot

R:n oppiminen | Osa 2 | Muuttujat ja funktiot


Muuttujat

  • x <- (1:10)
  • x = (1:10)
  • (1:10) -> x
  • assign("x", 1:10)

Kaikki yllä olevat tavat määrittävät taulukon luvuista 1 lukuun 10 muuttujaan x.

Nämä ovat määritysoperaattorit =, ->, <- .

Toinen yleinen funktio vektorin tai listan luomiseen on c(…) funktio.

  • c(1,10:13) Tämän tuloste olisi taulukko 1 10 11 12 13. Tämä tarkoittaa pilkuilla erotettuja objekteja/muuttujia yhdistämistä.
  • c(1:5, 10.5, "next") Tämän tuloste olisi taulukko "1" "2" "3" "4" "5" "10.5" "next".
  • y = c(1,2,3) & x = c(y, 1, y) Tämä on esimerkki muuttujien käyttämisestä uusien muuttujien luomiseen. Tässä y:n arvo olisi 1 2 3, kun taas x:n arvo olisi 1 2 3 1 1 2 3.

c(…) funktion lisäkäytöstä katso -

c funktio | R-dokumentaatio Tämä on yleinen funktio, joka yhdistää argumenttinsa. Oletusmetodi yhdistää argumenttinsa muodostaen vektorin…www.rdocumentation.org

Sisäänrakennetut funktiot

  • c(…) Kuten selitettiin yllä.
  • ls() tai objects()Antaa luettelon olemassa olevista objekteista, jotka on luotu.
  • rm("x")Poistaa objektin. Parametri on objektin nimi.
  • sum("x")Antaa vektorin x summan. Esimerkiksi, jos x on 1 2 3 1 1 2 3 niin sum("x") olisi13.
  • sqrt("x")Antaa vektorin x neliöjuuren. Esimerkiksi jos x on 1 4 9 niin sqrt("x") olisi toinen vektori, jonka arvot ovat 1 2 3.
  • seq(…)Tätä funktiota käytetään numerosarjan muodostamiseen. Se ottaa eri parametreja, kuten from (Sarjan aloitusarvo), to (Sarjan loppuarvo), by (Luku, jolla sarjaa kasvatetaan), length.out (Sarjan pituus) ja along.with (Tämä on vektoriluettelo, jonka pituus on n, ja sitä käytetään vain tämän välitetyn luettelon pituuden saamiseksi. Outoa 😷) Esimerkki:- seq(from=1, to=4, by=0.5) — Antaa sarjan luvusta 1 lukuun 4, jossa on 0.5 lisäys. Lisää seq(…) täällä.
  • paste(…) Tätä funktiota käytetään merkkijonojen tekemiseen vektorien ketjuttamisen avulla käyttämällä 2 parametria, nimittäin sep ja collapse. sep tarjoaa erottimen ketjutettujen vektorien välille, kun taas collapse tarjoaa erottimen, joka ketjuttaa arvot ketjutetussa vektorissa. (Sisäkkäinen rakenne? 🤒) Opitaan se esimerkkien avulla. paste("xyz", 1:3)"xyz 1" "xyz 2" "xyz 3" (Tämä on ilman sep ja collapse) paste("xyz", c(1,2,"variable",3), sep=",") "xyz,1" "xyz,2" "xyz,variable" "xyz,3" (Tämä on vain sep -parametrilla ) paste(c(1:5), c(5:10), sep = ": ", collapse = "; ")"1: 5; 2: 6; 3: 7; 4: 8; 5: 9; 1: 10" (Tämä on sep ja collapse -parametreilla; Huomaa, että tämä muodostaa yhden merkkijonon 😄.) Lisää paste(…) täällä.
  • rep(x, …) Kuten nimi viittaa, tätä funktiota käytetään olemassa olevan vektorin toistamiseen. Parametrit, jotka tämä funktio voi ottaa, ovat times (Kuinka monta kertaa vektori tulee toistaa), length.out (Haluttu tulostevektorin pituus) ja each (Kuinka monta kertaa jokainen vektorin elementti tulee toistaa) rep(c(1,2,3), 3) tai rep(c(1:3), times=3)1 2 3 1 2 3 1 2 3 rep(c(1:3), each=3)1 1 1 2 2 2 3 3 3 Lisää rep(x, …) täällä.

Käyttäjän määrittelemät funktiot

Alla oleva esimerkki näyttää yksinkertaisen tavan kirjoittaa yhden rivin funktio, joka palauttaa muuttujan neliön. Funktion nimi tässä on fn.

fn <- function(a) {a*a}
fn(10)

Esimerkki koodiblokista funktiossa.

fn -> function(a, b) {

c = a * b

c = c + b

print(x)

}
fn(10, 20)

Funktiot, joissa on silmukat,if-else.

primeNumber = function(n) {
  if(n>=2) {
    s = seq(2,n)

p = c() #Vektorin alustaminen, joka varastoi alkuluvut
    for(i in seq(2,n)) {

if(any(s == i) {

p = c(p, i)

s = c(s[(s%%i) != 0], i)

}

}

return(p)

} else {

stop("Input greater than 2")

}

}

Yllä oleva esimerkki palauttaa vektorin, jossa on kaikki alkuluvut lukuun saakka funktiolle välitetty n. stop funktio tässä lopettaa suorituksen ja heittää virheen.

Alkuperäinen p = c() käytetään alkuluvun varastoivaksi vektoriksi alustamiseen. Ja s = seq (2,n) käytetään vektorin alustamiseen siihen asti, jota sitten silmukoitaan.

Silmukka tarkistaa, onko arvo olemassa vektorissa s, joka määritettiin aiemmin käyttämällä any funktiota. Ja jos se täsmää, niin se lisää tuon arvon alkulukuvektoriin ja päivittää tarkistettavaksi vektorin eli s kaikilla luvuilla, jotka eivät ole jaollisia nykyisellä i

Silmukan lopussa p vektori sisältää kaikki alkuluvut.


Viitteet


Kiitos lukemisesta. Seuraavassa artikkelissani selitän piirtofunktioita. Sen lisäksi joitain oivalluksia paketeista ja tietojoukoista.

Myös, jos et ole lukenut osaa 1. Voit lukea sen täällä.

Jaa kysymyksesi alla. Ehdotukset ovat tervetulleita. 🙌