Získajte počet stĺpcov v R DataFrame

Ziskajte Pocet Stlpcov V R Dataframe



V R je získanie počtu stĺpcov základnou operáciou, ktorá sa vyžaduje v mnohých situáciách pri práci s DataFrames. Pri podmnožine, analýze, manipulácii, publikovaní a vizualizácii údajov je počet stĺpcov kľúčovou informáciou, ktorú treba poznať. Preto R poskytuje rôzne prístupy na získanie súčtu stĺpcov zadaného DataFrame. V tomto článku budeme diskutovať o niektorých prístupoch, ktoré nám pomáhajú získať počet stĺpcov DataFrame.

Príklad 1: Použitie funkcie Ncol().

Funkcia ncol() je najčastejšou funkciou na získanie celkového počtu stĺpcov údajových rámcov.







df <- data.frame('y1' = c(10, 12, 14, 19),

'y2' = c(15, 22, 24, 29),
'y3' = c(25, 32, 34, 39))


n <- ncol(df)

cat('-----Počet stĺpcov v dátovom rámci:', n)

V tomto príklade najprv vytvoríme dátový rámec „df“ s tromi stĺpcami, ktoré sú označené ako „y1“, „y2“ a „y3“ pomocou funkcie data.frame() v R. Prvky v každom stĺpci sú špecifikované pomocou funkcia c(), ktorá vytvára vektor prvkov. Potom sa pomocou premennej „n“ použije funkcia ncol() na určenie celkového počtu stĺpcov v dátovom rámci „df“. Nakoniec, s popisnou správou a premennou „n“, poskytnutá funkcia cat() vytlačí výsledky na konzole.



Ako sa očakávalo, získaný výstup naznačuje, že špecifikovaný DataFrame má tri stĺpce:







Príklad 2: Spočítajte celkové stĺpce pre prázdny dátový rámec

Ďalej použijeme funkciu ncol() na prázdny DataFrame, ktorý tiež získa hodnoty všetkých stĺpcov, ale táto hodnota je nula.

empty_df <- data.frame()

n <- ncol(empty_df)

cat('---Stĺpce v dátovom rámci:', n)

V tomto príklade vygenerujeme prázdny DataFrame „empty_df“ volaním data.frame() bez zadania stĺpcov alebo riadkov. Ďalej použijeme funkciu ncol(), ktorá sa používa na zistenie počtu stĺpcov v DataFrame. Funkcia ncol() je tu nastavená pomocou dátového rámca „empty_df“, aby ste získali celkové stĺpce. Keďže dátový rámec „empty_df“ je prázdny, nemá žiadne stĺpce. Takže výstup ncol(empty_df) je 0. Výsledky zobrazuje funkcia cat(), ktorá je tu nasadená.



Výstup zobrazuje hodnotu „0“ podľa očakávania, pretože DataFrame je prázdny.

Príklad 3: Použitie funkcie Select_If() s funkciou Length().

Ak chceme získať počet stĺpcov akéhokoľvek špecifického typu, mali by sme použiť funkciu select_if() v spojení s funkciou length() z R. Používajú sa tieto funkcie, ktoré sa kombinujú na získanie celkového počtu stĺpcov každého typu . Kód na použitie týchto funkcií je implementovaný nasledovne:

knižnica (dplyr)

x1<-PÍSMENA[1:10]

x2<-rpois(10,2)

x3<-rpois(10,5)

x4<-sample(c('Leto','Zima'),10,nahradit=TRUE)

df1<-data.frame(x1,x2,x3,x4)

df1

length(select_if(df1,is.numeric))

V tomto príklade najprv načítame balík dplyr, aby sme mali prístup k funkcii select_if() a funkcii length(). Potom vytvoríme štyri premenné – „x1“, „x2“, „x3“ a „x4“. Tu „x1“ obsahuje prvých 10 veľkých písmen anglickej abecedy. Premenné „x2“ a „x3“ sa generujú pomocou funkcie rpois() na vytvorenie dvoch samostatných vektorov 10 náhodných čísel s parametrami 2 a 5. Premenná „x4“ je faktorový vektor s 10 prvkami, ktoré sú náhodne vybrané z vektora c („leto“, „zima“).

Potom sa pokúsime vytvoriť „df1“ DataFrame, kde sú všetky premenné odovzdané vo funkcii data.frame(). Nakoniec vyvoláme funkciu length() na určenie dĺžky dátového rámca „df1“, ktorý je vytvorený pomocou funkcie select_if() z balíka dplyr. Funkcia select_if() vyberá stĺpce z dátového rámca „df1“ ako argument a funkcia is.numeric() vyberá iba stĺpce, ktoré obsahujú číselné hodnoty. Potom funkcia length() získa celkový počet stĺpcov, ktoré sú vybrané pomocou select_if(), čo je výstup celého kódu.

Dĺžka stĺpca je zobrazená v nasledujúcom výstupe, ktorý označuje celkový počet stĺpcov DataFrame:

Príklad 4: Použitie funkcie Sapply().

Naopak, ak chceme len spočítať chýbajúce hodnoty stĺpcov, máme k dispozícii funkciu sapply(). Funkcia sapply() iteruje každý stĺpec DataFrame, aby fungovala špecificky. Funkcia sapply() sa najprv odovzdá s DataFrame ako argument. Potom je potrebné vykonať operáciu na tomto DataFrame. Implementácia funkcie sapply() na získanie počtu hodnôt NA v stĺpcoch DataFrame sa poskytuje takto:

new_df <- data.frame(c1 = c(10, 11, NA, 13, NA),

c2 = c('N', NA, 'A', 'M', 'E'),
c3 = c(NA, 92, NA, NA, 95))

sapply(new_df, function(x) sum(is.na(x)))

V tomto príklade vygenerujeme dátový rámec „new_df“ s tromi stĺpcami – „c1“, „c2“ a „c3“. Prvé stĺpce „c1“ a „c3“ obsahujú číselné hodnoty vrátane niektorých chýbajúcich hodnôt, ktoré sú reprezentované NA. Druhý stĺpec „c2“ obsahuje znaky vrátane niektorých chýbajúcich hodnôt, ktoré sú tiež reprezentované NA. Potom aplikujeme funkciu sapply() na DataFrame „new_df“ a vypočítame počet chýbajúcich hodnôt v každom stĺpci pomocou výrazu sum() vo funkcii sapply().

Funkcia is.na() je ten výraz, ktorý je špecifikovaný pre funkciu sum(), ktorá vracia logický vektor označujúci, či každý prvok v stĺpci chýba alebo nie. Funkcia sum() spočíta hodnoty TRUE, aby spočítala počet chýbajúcich hodnôt v každom stĺpci.

Preto výstup zobrazuje celkové hodnoty NA v každom zo stĺpcov:

Príklad 5: Použitie funkcie Dim().

Okrem toho chceme získať celkové stĺpce spolu s riadkami DataFrame. Potom funkcia dim() poskytuje rozmery DataFrame. Funkcia dim() berie objekt ako argument, ktorého rozmery chceme získať. Tu je kód na použitie funkcie dim():

d1 <- data.frame(team=c('t1', 't2', 't3', 't4'),

body=c(8, 10, 7, 4))

slabá (d1)

V tomto príklade najskôr definujeme DataFrame „d1“, ktorý sa generuje pomocou funkcie data.frame(), kde sú dva stĺpce nastavené „tím“ a „body“. Potom vyvoláme funkciu dim() cez DataFrame „d1“. Funkcia dim() vracia počet riadkov a stĺpcov DataFrame. Preto, keď spustíme dim(d1), vráti vektor s dvoma prvkami – z ktorých prvý odráža počet riadkov v DataFrame „d1“ a druhý predstavuje počet stĺpcov.

Výstup predstavuje rozmery DataFrame, kde hodnota „4“ označuje celkový počet stĺpcov a hodnota „2“ predstavuje riadky:

Záver

Teraz sme sa dozvedeli, že počítanie počtu stĺpcov v R je jednoduchá a dôležitá operácia, ktorú možno vykonať na DataFrame. Spomedzi všetkých funkcií je funkcia ncol() najpohodlnejším spôsobom. Teraz sme oboznámení s rôznymi spôsobmi, ako získať počet stĺpcov z daného DataFrame.