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)

Menadžer u New Zealand Institute of Sport i Direktor Sigma Statistics and Research Ltd. Autor knige: R Graph Essentials.