Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
242.2.WEKTORYATOMOWE
as.logical(0+4i)
#nie-zero
##[1]TRUE
as.logical(c("FALSE","false","F","f","FAL","T"))#owartościNAdalej...
##[1]FALSEFALSEFALSE
NA
NA
TRUE
WAŻNE
Rzutowanieliczbyrzeczywistejdocałkowitejnastpujeprzezobcięciejejczściułam-
kowej.
as.integer(c(1.5,1.6,-1.5))
#obcięcieczęściułamkowej
##[1]
1
1-1
as.integer(c("1","-1.5","???","1e5"))#sprytne
##[1]
1
-1
NA100000
Dorzutowaniatypówmożemystosowatakżeogólniejsząfunkcjas.vector().
Jejdrugiargument,onazwiemode,określadocelowytryb(por.?mode)bądźtyp
podstawowy(por.?typeof)wynikowegowektora.
as.vector(c(TRUE,FALSE),"numeric")
##[1]10
Testowanietypuobiektu.
Istniejątakżefunkcjesłużącedosprawdzania,czydany
obiektjestokreślonegotypu:is.character(),is.complex(),is.numeric()
(równoważne:is.double()lubis.integer()),is.raw()orazis.logical()).
Bdziemyjepóźniejwykorzystywam.in.doweryfikacjipoprawnościargumentów
funkcji:
c(is.integer(1:5),is.double(1:5),is.numeric(1:5))
##[1]
TRUEFALSE
TRUE
Dostpnesąrównieżfunkcjedoweryfikacjitypuobiektównaniecobardziejogól-
nympoziomie.Naprzykład,przyużyciuponiższychwywołańmożemydowiedziesi,
żedotejporymieliśmydoczynieniawłaśniezwektoramiatomowymi.
is.vector(c(1,2,3))
#wektor...
##[1]TRUE
is.atomic(c(1,2,3))
#...atomowy(sąteżwektoryuogólnione)
##[1]TRUE
Prealokacjawektorów.Czasembdziezachodzipotrzebautworzeniawektoraoza-
danejdługościiokreślonymtypieelementów,którydopieropóźniejsukcesywnieb-