Získejte počet sloupců v R DataFrame

Ziskejte Pocet Sloupcu V R Dataframe



V R je získání počtu sloupců základní operací, která je vyžadována v mnoha situacích při práci s DataFrames. Při podmnožinách, analýze, manipulaci, publikování a vizualizaci dat je počet sloupců klíčovou informací, kterou je třeba znát. Proto R poskytuje různé přístupy k získání celkového počtu sloupců zadaného DataFrame. V tomto článku budeme diskutovat o některých přístupech, které nám pomáhají získat počet sloupců DataFrame.

Příklad 1: Použití funkce Ncol().

Funkce ncol() je nejčastější funkcí pro získání celkového počtu sloupců datových rámců.







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 sloupců v datovém rámci:', n)

V tomto příkladu nejprve vytvoříme „df“ DataFrame se třemi sloupci, které jsou označeny jako „y1“, „y2“ a „y3“ pomocí funkce data.frame() v R. Prvky v každém sloupci jsou specifikovány pomocí funkce c(), která vytváří vektor prvků. Potom se pomocí proměnné „n“ použije funkce ncol() k určení celkového počtu sloupců v datovém rámci „df“. Konečně, s popisnou zprávou a proměnnou „n“, poskytnutá funkce cat() vytiskne výsledky na konzoli.



Podle očekávání načtený výstup indikuje, že zadaný DataFrame má tři sloupce:







Příklad 2: Spočítejte celkový počet sloupců pro prázdný DataFrame

Dále použijeme funkci ncol() na prázdný DataFrame, který také získá hodnoty všech sloupců, ale tato hodnota je nula.

empty_df <- data.frame()

n <- ncol(empty_df)

cat('---Sloupce v datovém rámci:', n)

V tomto příkladu vygenerujeme prázdný DataFrame „empty_df“ voláním metody data.frame() bez určení sloupců nebo řádků. Dále použijeme funkci ncol(), která se používá k nalezení počtu sloupců v DataFrame. Funkce ncol() je zde nastavena pomocí datového rámce „empty_df“, abyste získali celkový počet sloupců. Protože je DataFrame „empty_df“ prázdný, nemá žádné sloupce. Takže výstup ncol(empty_df) je 0. Výsledky zobrazí funkce cat(), která je zde nasazena.



Výstup zobrazuje hodnotu „0“ podle očekávání, protože DataFrame je prázdný.

Příklad 3: Použití funkce Select_If() s funkcí Length().

Pokud chceme získat počet sloupců jakéhokoli konkrétního typu, měli bychom použít funkci select_if() ve spojení s funkcí length() z R. Tyto funkce se používají, které se kombinují, aby se získal celkový počet sloupců každého typu. . Kód pro použití těchto funkcí je implementován v následujícím:

knihovna (dplyr)

x1<-PÍSMENA[1:10]

x2<-rpois(10,2)

x3<-rpois(10,5)

x4<-sample(c('Léto','Zima'),10,nahradit=PRAVDA)

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

df1

length(select_if(df1,is.numeric))

V tomto příkladu nejprve načteme balíček dplyr, abychom měli přístup k funkcím select_if() a length(). Poté vytvoříme čtyři proměnné – „x1“, „x2“, „x3“ a „x4“. Zde „x1“ obsahuje prvních 10 velkých písmen anglické abecedy. Proměnné „x2“ a „x3“ jsou generovány pomocí funkce rpois() k vytvoření dvou samostatných vektorů 10 náhodných čísel s parametry 2 a 5. Proměnná „x4“ je faktorový vektor s 10 prvky, které jsou náhodně vybrány z vektoru c („Léto“, „Zima“).

Poté se pokusíme vytvořit DataFrame „df1“, kde jsou všechny proměnné předávány ve funkci data.frame(). Nakonec zavoláme funkci length() k určení délky datového rámce „df1“, který je vytvořen pomocí funkce select_if() z balíčku dplyr. Funkce select_if() vybere sloupce z datového rámce „df1“ jako argument a funkce is.numeric() vybere pouze sloupce, které obsahují číselné hodnoty. Poté funkce length() získá celkový počet sloupců, které jsou vybrány pomocí select_if(), což je výstup celého kódu.

Délka sloupce je zobrazena v následujícím výstupu, který označuje celkový počet sloupců DataFrame:

Příklad 4: Použití funkce Sapply().

Naopak, pokud chceme spočítat pouze chybějící hodnoty sloupců, máme k dispozici funkci sapply(). Funkce sapply() iteruje přes každý sloupec DataFrame, aby fungovala specificky. Funkce sapply() je nejprve předána s DataFrame jako argument. Poté je potřeba provést operaci na tomto DataFrame. Implementace funkce sapply() pro získání počtu hodnot NA ve sloupcích DataFrame je zajištěna následovně:

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 příkladu vygenerujeme datový rámec „new_df“ se třemi sloupci – „c1“, „c2“ a „c3“. První sloupce „c1“ a „c3“ obsahují číselné hodnoty včetně některých chybějících hodnot, které jsou reprezentovány NA. Druhý sloupec „c2“ obsahuje znaky včetně některých chybějících hodnot, což je také reprezentováno NA. Poté aplikujeme funkci sapply() na DataFrame „new_df“ a vypočítáme počet chybějících hodnot v každém sloupci pomocí výrazu sum() uvnitř funkce sapply().

Funkce is.na() je ten výraz, který je specifikován pro funkci sum(), která vrací logický vektor udávající, zda každý prvek ve sloupci chybí nebo ne. Funkce sum() sečte hodnoty TRUE a spočítá počet chybějících hodnot v každém sloupci.

Výstup tedy zobrazuje celkové hodnoty NA v každém ze sloupců:

Příklad 5: Použití funkce Dim().

Kromě toho chceme získat celkové sloupce spolu s řádky DataFrame. Poté funkce dim() poskytuje rozměry DataFrame. Funkce dim() bere objekt jako argument, jehož rozměry chceme načíst. Zde je kód pro použití funkce dim():

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

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

slabý (d1)

V tomto příkladu nejprve definujeme DataFrame „d1“, který je generován pomocí funkce data.frame(), kde jsou dva sloupce nastaveny na „tým“ a „body“. Poté vyvoláme funkci dim() přes DataFrame „d1“. Funkce dim() vrací počet řádků a sloupců DataFrame. Když tedy spustíme dim(d1), vrátí vektor se dvěma prvky – z nichž první odráží počet řádků v DataFrame „d1“ a druhý představuje počet sloupců.

Výstup představuje rozměry DataFrame, kde hodnota „4“ označuje celkový počet sloupců a hodnota „2“ představuje řádky:

Závěr

Nyní jsme se dozvěděli, že počítání počtu sloupců v R je jednoduchá a důležitá operace, kterou lze provést na DataFrame. Mezi všemi funkcemi je funkce ncol() nejpohodlnějším způsobem. Nyní jsme obeznámeni s různými způsoby, jak získat počet sloupců z daného DataFrame.