Učenje R-a | Dio 2 | Varijable & Funkcije
Varijable
x <- (1:10)x = (1:10)(1:10) -> xassign("x", 1:10)
Svi gornji načini dodjeljuju niz od 1 do 10 varijabli x.
Ovo su operatori dodjele =, ->, <- .
Jedna druga česta funkcija za stvaranje vektora ili liste je funkcija c(…).
c(1,10:13)Rezultat bi bio niz1 10 11 12 13. To znači spajanje objekata/varijabli odvojenih zarezom.c(1:5, 10.5, "next")Rezultat bi bio niz"1" "2" "3" "4" "5" "10.5" "next".y = c(1,2,3)&x = c(y, 1, y)Ovo je primjer korištenja varijabli za stvaranje novih varijabli. Ovdje bi vrijednostybila1 2 3dok bi vrijednostxbila1 2 3 1 1 2 3.
Za daljnju upotrebu funkcije c(…) pogledajte-
Ugrađene Funkcije
c(…)— Kao što je objašnjeno gore.ls()iliobjects()— Daje popis postojećih objekata koji su kreirani.rm("x")— Briše objekt. Parametar je naziv objekta.sum("x")— Daje zbir vektorax. Na primjer, akoxje1 2 3 1 1 2 3tada bisum("x")bio13.sqrt("x")— Daje kvadratni korijen vektorax. Na primjer ako jex1 4 9tada bisqrt("x")bio drugi vektor s vrijednostima1 2 3.seq(…)— Ova funkcija se koristi za generiranje niza brojeva. Prima različite parametre kao što sufrom(Početna vrijednost niza),to(Krajnja vrijednost niza),by(Broj za koji se niz povećava),length.out(Duljina niza) ialong.with(Ovo je popis vektora s duljinom n i koristi se samo za dobivanje duljine ovog prosljeđenog popisa. Čudno 😷) Primjer:-seq(from=1, to=4, by=0.5)— Daje niz od1do4s povećanjem od0.5. Više oseq(…)ovdje.paste(…)Ova funkcija se koristi za izradu stringova koristeći nadovezivanje vektora s 2 parametra, odnosnosep&collapse.sepdaje separator između nadovezanih vektora dokcollapsedaje separator koji nadovezuje vrijednosti u nadovezanom vektoru. (Inception? 🤒) Nauči to s nekoliko primjera.paste("xyz", 1:3)—"xyz 1" "xyz 2" "xyz 3"(Ovo je bezsep&collapse)paste("xyz", c(1,2,"variable",3), sep=",")—"xyz,1" "xyz,2" "xyz,variable" "xyz,3"(Ovo je samo sasep)paste(c(1:5), c(5:10), sep = ": ", collapse = "; ")—"1: 5; 2: 6; 3: 7; 4: 8; 5: 9; 1: 10"(Ovo je sasepicollapse; Primijetite da se ovdje formira jedan string 😄.) Više opaste(…)ovdje.rep(x, …)— Kao što naziv sugerira, ova funkcija se koristi za ponavljanje postojećeg vektora. Parametri koje ova funkcija može primiti sutimes(Broj puta da se vektor ponovi),length.out(Željena duljina izlaznog vektora) &each(Broj puta da se svaki element vektora ponovi)rep(c(1,2,3), 3) ili rep(c(1:3), times=3)—1 2 3 1 2 3 1 2 3rep(c(1:3), each=3)—1 1 1 2 2 2 3 3 3Više orep(x, …)ovdje.
Funkcije definirane od strane korisnika
Primjer dolje pokazuje jednostavan način za pisanje funkcije od jedne linije koja vraća kvadrat varijable. Naziv funkcije ovdje je fn.
fn <- function(a) {a*a}
fn(10)
Primjer bloka koda u funkciji.
fn -> function(a, b) {
c = a * b
c = c + b
print(x)
}
fn(10, 20)
Funkcije sa petljama,if-else.
primeNumber = function(n) {
if(n>=2) {
s = seq(2,n) p = c() #Inicijalizacija vektora koji sprema proste brojeve
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("Unos mora biti veći od 2")
}
}
Gornji primjer vraća vektor sa svim prostim brojevima do n prosljeđene funkciji. Funkcija stop ovdje zaustavlja izvršavanje i baca grešku.
Inicijalni p = c() se koristi za inicijalizaciju vektora koji sprema prosti broj. I s = seq (2,n) se koristi za inicijalizaciju vektora do kojeg se zatim petlja.
Petlja provjerava je li vrijednost prisutna u vektoru s definiranom ranije koristeći any funkciju. I ako se podudara tada dodaje tu vrijednost vektoru prostih brojeva i ažurira vektor koji se treba provjeriti, tj. s sa svim brojevima koji nisu djeljivi sa trenutnim i
Na kraju petlje, vektor p sadrži sve proste brojeve.
References
Hvala što ste pročitali. U mom sljedećem članku, objasnit ću funkcije plotanja. Osim toga, neki uvidi o paketima & skupovima podataka.
Također, ako niste pročitali dio 1. Možete ga pročitati ovdje.
Postavite svoja pitanja dolje. Prijedlozi su dobrodošli. 🙌



