Brz početak rada sa R: Uslovno prebrojavanje (17. Deo)

Prebrojavanje elemenata u datoteci

Kombinujući length() i which() komande dobijamo korisnu metodu za prebrojavanje elemenata koji zadovoljavaju određeni kriterijum.
b <- c(7, 2, 4, 3, -1, -2, 3, 3, 6, 8, 12, 7, 3)
b


Prebrojmo trojke u vektoru b.
count3 <- length(which(b == 3))
count3


U opštem slučaju možemo prebrojati koliko ima elemenata koji zadovoljavaju bilo koji kriterijum.
length(which(b < 7))

Ovo je alternativni pristup koji takođe koristi length() komandu, ali koji takođe koristi kvadratne zagrade za izdvajanje podskupova:
length(b[ b < 7 ])

R pruža alternativni način sa kojim nisu svi upoznati

sum(b < 7)

Ova sintaksa daje frekvenciju umesto sume. Treba biti svestan značenja sintakse kao što je sum(b < 7). Obe funkcionišu na logičkim vektorima čiji su elementi TRUE ili FALSE. Pokušajte uneti b < 7.
b < 7

Vidimo da sum(b < 7) prebrojava koliko elemenata u b su TRUE. Takvih je devet elemenata.
Pokušajte sada:
mean(b < 7)

Ova sintaksa nalazi proporciju elemenata koji zadovoljavaju kriterijum umesto srednje vrednosti. Voditi računa da se pažljivo koriste sum() i mean() funkcije da bi se dobili rezultati koji se nameravaju. Uočiti da sum(), length() i length(which()) su funkcije koje sve daju mehanizam za prebrojavanje elemenata.
Pronađimo sada procenat sedmica u vektoru b.
P7 <- 100 * length(which(b == 7)) / length(b)
P7

Prošireni primer

Možemo naći frekvencije i procente korišćenjem funkcija koje koriste length(which()). Ovde ćemo kreirati dve funkcije; jednu za određivanje frekvencija i drugu koja izračunava procente.
count <- function(x, n){ length((which(x == n))) }
perc <- function(x, n){ 100*length((which(x == n))) / length(x) }

Uočiti sintaksu koja je korišćena pri kreiranju funkcije u R. Sada ćemo koristiti count() funkciju da prebrojimo trojke u vektoru b i funkciju perc() da izračunamo procenat četvorki u vektoru b.
count(b, 3)
perc(b, 4)


Ovo i nije bilo tako teško! U 18. delu daću drugi savet za analizu podataka u R.
Vidimo se kasnije!
David

Dodatak: Korišćeni R kodovi

# Kreirati vektor b. 
b <- c(7, 2, 4, 3, -1, -2, 3, 3, 6, 8, 12, 7, 3) 
b

# Prebrojati trojke u vektoru b. 
count3 <- length(which(b == 3)) 
count3

# Drugi primer prebrojavanja.
length(which(b < 7))

# Alternativni pristup prebrojavanju. 
length(b[ b < 7 ])

# Drugi alternativni pristup prebrojavanju. 
sum(b < 7)  
b < 7

# Proporcija elemenata koji su manji od 7 u vektoru b. 
mean(b < 7)

# Procenat sedmica u vektoru b. 
P7 <- 100 * length(which(b == 7)) / length(b)
P7

# Kreirati dve funkcije count i perc. 
count <- function(x, n){ length((which(x == n))) }
perc <- function(x, n){ 100*length((which(x == n))) / length(x) }
count(b, 3)
perc(b, 4)