R vektori – Miten luodaan, yhdistetään ja indeksoidaan vektorit R: ssä?
tässä Techvidvanin opetusohjelmassa opit vektorista R-ohjelmoinnissa. R.
vektorit ovat yksinkertaisimpia tietorakenteita R: ssä.ne ovat saman perustyypin alkuaineiden sekvenssejä.
nämä tyypit voivat olla numeerinen, kokonaisluku, kompleksinen, merkki ja looginen. R: ssä monimutkaisemmat Tietorakenteet tehdään vektoreilla rakennuspalikoina.
tässä artikkelissa saat vastauksen kaikkiin näihin kysymyksiin yksityiskohtaisesti:
- miten luoda vektori R?
- mitkä ovat Vektorityypit R: ssä?
- Miten löytää R-vektorin tyyppi?
- miten R-vektorit yhdistetään?
- mikä on pakottaminen R-vektorissa?
- miten päästä käsiksi R-vektorin elementteihin?
- mitkä ovat r: n perusvektoriaritmetiikkaa?
- mikä on vektorifunktio R: ssä?
joten pitemmittä puheitta, aloitetaan!
pitää sinut ajan tasalla uusimpien teknologiasuuntausten kanssa, Liity Techvidvaniin Telegramissa
Miten luodaan vektori R: ssä?
on olemassa lukuisia tapoja luoda R-vektori:
käyttämällä C () funktiota
vektorin luomiseen käytämme c()
funktiota:
koodia:
> vec <- c(1,2,3,4,5) #creates a vector named vec> vec #prints the vector vec
Lähtö:
käyttämällä assign () – funktiota
toinen tapa luoda vektori on assign()
– funktio.
Koodi:
> assign("vec2",c(6,7,8,9,10)) #creates a vector named vec2> vec2 #prints the vector vec2
Tuloste:
käyttämällä : operaattori
helppo tapa tehdä kokonaislukuvektorit on käyttää :
operaattoria.
koodi:
> vec3 <- 1:20> vec3
tuloste:
mitkä ovat vektorityypit R: ssä?
vektori voi olla erityyppinen riippuen sen sisältämistä alkuaineista. Nämä voivat olla:
1. Numeeriset vektorit
numeerisia arvoja sisältävät vektorit.
koodi:
> num_vec <- c(1,2,3,4,5)> num_vec
2. Kokonaislukuvektorit
vektorit, jotka sisältävät kokonaislukuarvoja.
koodi:
> int_vec <- c(6L,7L,8L,9L,10L)> int_vec
3. Loogiset vektorit
vektorit, jotka sisältävät loogisia arvoja tosi tai epätosi.
koodi:
> log_vec <- c(TRUE,FALSE,TRUE,FALSE,FALSE)> log_vec
4. Merkkivektorit
tekstin sisältävät vektorit.
koodi:
> char_vec <- c("aa","bb","cc","dd","ee")> char_vec
5. Kompleksivektorit
kompleksiarvoja sisältävät vektorit.
koodi:
> comp_vec <- c(12+1i,3i,5+4i,4+9i,6i)> comp_vec
tuloste:
Miten löytää R-vektorityyppi?
funktion typeof()
avulla voidaan löytää vektorin tyyppi. Esimerkiksi:
koodi:
> typeof(num_vec)> typeof(int_vec)> typeof(log_vec)> typeof(char_vec)> typeof(comp_vec)
tuloste:
Huom: typeof()
funktio palauttaa numeerisille arvoille ”tuplan”. Tämä johtuu siitä, miten numeerinen-luokka tallentaa arvon. Numeerinen luokka tallentaa arvot kaksitarkkuuksisina liukulukuina. Niiden tyyppi on kaksinkertainen, kun taas niiden luokka on numeerinen.
miten R-vektorit yhdistetään?
c()
funktio voi myös yhdistää kaksi tai useampia vektoreita ja lisätä vektoreihin alkioita.
Esimerkki 1
Koodi:
> vec4 <- c(vec, vec2)> vec4
Esimerkki 2
Koodi:
> vec5 <- c(vec4,4,55,vec)> vec5
Lähtö:
mikä on pakko R-vektorissa?
Vektoreissa on vain saman tietotyypin elementtejä. Jos tietotyyppejä on useampia, funktio c()
muuntaa elementit. Tätä kutsutaan pakottamiseksi. Muunnos tapahtuu alemmista korkeampiin tyyppeihin.
looginen < kokonaisluku < kaksinkertainen < kompleksiluku < merkki.
koodi:
> vec6 <- c(1,FALSE,3L,12+5i,"hello")> typeof(vec6)
tuloste:
miten päästä käsiksi R-vektorin elementteihin?
käytämme vektori-indeksointia päästäksemme käsiksi vektorin elementteihin. Voimme valita tai jättää pois vektorin elementit liittämällä hakasulkeissa olevan indeksivektorin vektorin nimeen.
indeksivektoreita on neljää tyyppiä:
- Logical index vector
- Positive-integral index Vector
- Negative-integral index Vector
- Character index Vector
Tarkastellaanpa näitä eri indeksointitekniikoita:
1. Loogiset indeksivektorit
voidaan loogisten arvojen vektorilla indeksoida toinen saman pituinen vektori. R sisältää INDEKSIVEKTORISSA TRUE-arvoa vastaavat alkiot ja jättää pois epätosi-alkiot. Esimerkiksi:
koodi:
> logind_vec <- vec> logind_vec
tuloste:
sen sijaan, että käytettäisiin yhtä pitkiä loogisia vektoreita, voidaan käyttää myös loogista ehtoa. Tämä sisältää elementit, jotka täyttävät ehdon, kun taas poistaa ne, jotka eivät.
koodi:
> logind_vec2 <- vec3 #only allow those divisible by 3> logind_vec2
tuloste :
2. Positiivisen integraalin indeksin vektorit
R: n Vektoriindeksit alkavat 1. Voimme käyttää positiivisia kokonaislukuja valita tiettyjä elementtejä. Voimme myös käyttää vektoreita positiivisia kokonaislukuja sisällyttää useita erityisiä elementtejä jättäen toiset.
Esimerkki 1
koodi:
> posint_vec <- vec> posint_vec
Esimerkki 2
koodi:
> posint_vec2 <- vec4> posint_vec2
tuloste:
3. Negatiivinen-integraali-indeksivektorit
negatiivisessa integraali-indeksoinnissa negatiiviset kokonaisluvut tarkoittavat pois jätettäviä alkioita. Käytettäessä negatiivisia integraalivektoreita R poistaa merkityt elementit ja palauttaa jäljelle jääneet tulokseksi.
koodi:
> negint_vec <- vec> negint_vec
tuloste:
4. Merkkien indeksointivektorit
käytämme merkkivektoria, vain indeksoidaksemme vektorit, joilla on ”names” – attribuutti. Merkkivektorin indeksointi on hyödyllistä käsiteltäessä nimettyjä R-vektoreita.
Koodi:
> named_vec <- c("first"=1,"second"=2,"third"=3,"fourth"=4)> named_vec> charind_vec <- named_vec > charind_vec
Tuloste:
mitkä ovat r: n perusvektoriaritmetiikkaa?
R suorittaa aritmeettisia operaatioita vektoreilla jäsenittäin. Tämä tarkoittaa, että operaatiot suoritetaan jokaiselle jäsenelle. Esimerkiksi:
kertolasku:
> multivec <- vec*2> multivec
lisäys:
> vec_plus_three <- vec+3> vec_plus_three
vähennyslasku:
> vec_min_one <- vec-1> vec_min_one
tuloste:
voimme suorittaa myös aritmeettisen operaation, kuten kahden yhtä pitkän vektorin yhteenlaskun. Tämä lisää vastaavat jäsenet kahteen vektoriin. Esimerkiksi:
vektorien yhteenlasku
> vector_add <- vec+vec2 #vec = 1,2,3,4,5 vec2 = 6,7,8,9,10> vector_add
vektorin kertolasku
> vector_mul <- vec*vec2> vector_mul
vektorin vähennys
> vector_sub <- vec2-vec> vector_sub
vektorin jako
> vector_div <- multivec/vec # multivec = 2,4,6,8,10> vector_div
ulostulo:
jos kaksi vektoria ovat eripituisia, lyhyempi kierrätetään vastaamaan pidempää vektoria.
koodi:
> recycle_vec <- vec*vec4> recycle_vec
tuloste:
huomaa: tässä ensimmäisessä vektorissa vec on viisi alkiota. Toisessa vektorissa vec4 on kymmenen alkuainetta. Näin ollen ensimmäinen vektori kierretään kahdesti vastaamaan toista.
mikä on vektorifunktio R: ssä?
R: llä on monia funktioita, joilla voidaan manipuloida vektoreita tai saada niistä lisätietoa. Tässä muutamia yleisesti käytettyjä funktioita:
seq()
– SEQ () – funktio luo säännöllisiä numeerisia sekvenssejä. Funktiolla on seuraavat argumentit:
- alkaen: lähtöarvo
- : loppuarvo
- by: lisäys (oletusarvo on 1)
- pituus.ulos:jakson pituus
- pitkin.kanssa: tämän argumentin pituus voi määritellä jonon pituuden.
koodi:
> vec_seq <- seq(from=1,to=20,length=30)> vec_seq
rep()
– REP () – funktio toistaa tietyn numeerisen vektorin. Funktiolla on seuraavat argumentit:
- X: x on toistuva numeerinen vektori.
- kertaa: toistojen määrä.
- kukin: toistojen määrä jokaiselle vektorin elementille.
- pituus.out: tuloksena olevan vektorin pituus. Toiminto toistuu, kunnes se saavuttaa pituuden.
koodi:
> vec_rep <- rep(c(2,3,4), times=3)> vec_rep
sum()
– funktio summa () palauttaa kokonaislukuarvon, joka on vektorin kaikkien alkioiden summa.
koodi:
> sum(vec_rep)
4. Type checking ja muuntaminen toiminnot-toiminnot as.numeerinen () / as.merkki () / as.looginen () / as.kokonaisluku () voi muuntaa vektorin vastaavaksi tyypikseen. Toiminnot ovat.numeerinen () / on.merkki () / on.looginen () jne. kerro, onko vektori vastaavaa tyyppiä vai ei.
koodi:
> is.numeric(vec_rep)> as.character(vec_rep)
tiivistelmä
vektorit ovat yksi r: n perustietorakenteista.ne ovat saman tietotyypin arvojen sekvenssejä. Voimme luokitella ne yksiulotteisiksi, homogeenisiksi tietorakenteiksi.
ei tiedä paljon R: n sisäisistä tietorakenteista? Sitten on tarkastella perus tietorakenteita R esimerkkejä.
tässä tutoriaalissa opimme R-vektoreista. Opimme luomaan vektoreita ja kuinka monenlaisia vektoreita on olemassa. Tutkimme myös pakkokeinoja ja vektorien erilaisia indeksointitekniikoita.
lopuksi selvitimme r: n vektoriaritmetiikan mekaniikkaa ja muutamia funktioita, joilla voidaan luoda ja manipuloida vektoreita.