R – Datové rámce
Programovací jazyk R je programovací jazyk s otevřeným zdrojovým kódem, který je široce používán jako statistický software a nástroj pro analýzu dat. Datové rámce v jazyce R jsou generické datové objekty R, které se používají k ukládání tabulkových dat.
Datové rámce lze také interpretovat jako matice, kde každý sloupec a matice mohou mít různé datové typy. R DataFrame se skládá ze tří hlavních komponent, dat, řádků a sloupců.
R Struktura datových rámců
Jak můžete vidět na obrázku níže, takto je strukturován datový rámec.
Data jsou prezentována v tabulkové formě, což usnadňuje ovládání a pochopení.
R – Datové rámce
Vytvořte datový rámec v programovacím jazyce R
K vytvoření datového rámce R použijte data.frame() funkci a poté předejte funkci každý z vektorů, které jste vytvořili, jako argumenty.
R
# R program to create dataframe> # creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # print the data frame> print> (friend.data)> |
Výstup:
friend_id friend_name 1 1 Sachin 2 2 Sourav 3 3 Dravid 4 4 Sehwag 5 5 Dhoni
Získejte strukturu datového rámce R
Strukturu datového rámce R lze získat pomocí str() funkce v R.
Dokáže zobrazit i vnitřní strukturu velkých seznamů, které jsou vnořené. Poskytuje jednořádkový výstup pro základní R objekty, který dává uživateli vědět o objektu a jeho složkách.
R
# R program to get the> # structure of the data frame> # creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # using str()> print> (> str> (friend.data))> |
Výstup:
'data.frame': 5 obs. of 2 variables: $ friend_id : int 1 2 3 4 5 $ friend_name: chr 'Sachin' 'Sourav' 'Dravid' 'Sehwag' ... NULL
Souhrn dat v datovém rámci R
V datovém rámci R lze statistický souhrn a povahu dat získat aplikací souhrn() funkce.
Je to obecná funkce používaná k vytváření souhrnů výsledků výsledků různých funkcí přizpůsobení modelu. Funkce vyvolá konkrétní metody, které závisí na třídě prvního argumentu.
R
# R program to get the> # summary of the data frame> # creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # using summary()> print> (> summary> (friend.data))> |
Výstup:
friend_id friend_name Min. :1 Length:5 1st Qu.:2 Class :character Median :3 Mode :character Mean :3 3rd Qu.:4 Max. :5
Extrahujte data z datového rámce v R
Extrahování dat z datového rámce R znamená přístup k jeho řádkům nebo sloupcům. Jeden může extrahovat konkrétní sloupec z datového rámce R pomocí jeho názvu sloupce.
R
# R program to extract> # data from the data frame> # creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # Extracting friend_name column> result <-> data.frame> (friend.data$friend_name)> print> (result)> |
Výstup:
friend.data.friend_name 1 Sachin 2 Sourav 3 Dravid 4 Sehwag 5 Dhoni
Rozbalte datový rámec v jazyce R
Datový rámec v R lze rozšířit přidáním nových sloupců a řádků do již existujícího datového rámce R.
R
# R program to expand> # the data frame> # creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # Expanding data frame> friend.data$location <-> c> (> 'Kolkata'> ,> 'Delhi'> ,> > 'Bangalore'> ,> 'Hyderabad'> ,> > 'Chennai'> )> resultant <- friend.data> # print the modified data frame> print> (resultant)> |
Výstup:
friend_id friend_name location 1 1 Sachin Kolkata 2 2 Sourav Delhi 3 3 Dravid Bangalore 4 4 Sehwag Hyderabad 5 5 Dhoni Chennai
V R lze provádět různé typy operací na datovém rámci, jako je přístup k řádkům a sloupcům, výběr podmnožiny datového rámce, úpravy datových rámců, mazání řádků a sloupců v datovém rámci , atd.
Obraťte se prosím na Operace datových rámců v R vědět o všech typech operací, které lze provádět na datovém rámci.
Přístup k položkám v datovém rámci R
Můžeme vybrat a přistupovat k libovolnému prvku z datového rámce pomocí single $> ,závorky [ ] or> dvojité závorky [[]]> pro přístup ke sloupcům z datového rámce.
R
# creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # Access Items using []> friend.data[1]> # Access Items using [[]]> friend.data[[> 'friend_name'> ]]> # Access Items using $> friend.data$friend_id> |
Výstup:
friend_id 1 1 2 2 3 3 4 4 5 5 Access Items using [[]] [1] 'Sachin' 'Sourav' 'Dravid' 'Sehwag' 'Dhoni' Access Items using $ [1] 1 2 3 4 5
Počet řádků a sloupců
Můžeme zjistit, kolik řádků a sloupců parsant v našem datovém rámci pomocí funkce dim.
R
# creating a data frame> friend.data <-> data.frame> (> > friend_id => c> (1:5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> > 'Dravid'> ,> 'Sehwag'> ,> > 'Dhoni'> ),> > stringsAsFactors => FALSE> )> # find out the number of rows and clumns> dim> (friend.data)> |
Výstup:
[1] 5 2
Přidejte řádky a sloupce do datového rámce R
Do R DataFrame můžete snadno přidávat řádky a sloupce. Vložení pomáhá při rozšiřování již existujícího DataFrame, aniž byste potřebovali nový.
Podívejme se, jak přidat řádky a sloupce do DataFrame? s příkladem:
Přidejte řádky do datového rámce R
Chcete-li přidat řádky do datového rámce, můžete použít vestavěnou funkci rbind().
Následující příklad demonstruje fungování rbind() v R Data Frame.
R
# Creating a dataframe representing products in a store> Products <-> data.frame> (> > Product_ID => c> (101, 102, 103),> > Product_Name => c> (> 'T-Shirt'> ,> 'Jeans'> ,> 'Shoes'> ),> > Price => c> (15.99, 29.99, 49.99),> > Stock => c> (50, 30, 25)> )> # Print the existing dataframe> cat> (> 'Existing dataframe (Products):
'> )> print> (Products)> # Adding a new row for a new product> New_Product <-> c> (104,> 'Sunglasses'> , 39.99, 40)> Products <-> rbind> (Products, New_Product)> # Print the updated dataframe after adding the new product> cat> (> '
Updated dataframe after adding a new product:
'> )> print> (Products)> |
Výstup:
Existing dataframe (Products): Product_ID Product_Name Price Stock 1 101 T-Shirt 15.99 50 2 102 Jeans 29.99 30 3 103 Shoes 49.99 25 Updated dataframe after adding a new product: Product_ID Product_Name Price Stock 1 101 T-Shirt 15.99 50 2 102 Jeans 29.99 30 3 103 Shoes 49.99 25 4 104 Sunglasses 39.99 40
Přidejte sloupce do datového rámce R
Chcete-li přidat sloupce do datového rámce, můžete použít vestavěnou funkci cbind().
Následující příklad demonstruje fungování cbind() v R Data Frame .
R
# Existing dataframe representing products in a store> Products <-> data.frame> (> > Product_ID => c> (101, 102, 103),> > Product_Name => c> (> 'T-Shirt'> ,> 'Jeans'> ,> 'Shoes'> ),> > Price => c> (15.99, 29.99, 49.99),> > Stock => c> (50, 30, 25)> )> # Print the existing dataframe> cat> (> 'Existing dataframe (Products):
'> )> print> (Products)> # Adding a new column for 'Discount' to the dataframe> Discount <-> c> (5, 10, 8)> # New column values for discount> Products <-> cbind> (Products, Discount)> # Rename the added column> colnames> (Products)[> ncol> (Products)] <-> 'Discount'> # Renaming the last column> # Print the updated dataframe after adding the new column> cat> (> '
Updated dataframe after adding a new column 'Discount':
'> )> print> (Products)> |
Výstup:
Existing dataframe (Products): Product_ID Product_Name Price Stock 1 101 T-Shirt 15.99 50 2 102 Jeans 29.99 30 3 103 Shoes 49.99 25 Updated dataframe after adding a new column 'Discount': Product_ID Product_Name Price Stock Discount 1 101 T-Shirt 15.99 50 5 2 102 Jeans 29.99 30 10 3 103 Shoes 49.99 25 8
Odebrat řádky a sloupce
Datový rámec v R odebere sloupce a řádky z již existujícího R datového rámce.
Odebrat řádek v R DataFrame
R
library> (dplyr)> # Create a data frame> data <-> data.frame> (> > friend_id => c> (1, 2, 3, 4, 5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> 'Dravid'> ,> 'Sehwag'> ,> 'Dhoni'> ),> > location => c> (> 'Kolkata'> ,> 'Delhi'> ,> 'Bangalore'> ,> 'Hyderabad'> ,> 'Chennai'> )> )> data> # Remove a row with friend_id = 3> data <-> subset> (data, friend_id != 3)> data> |
Výstup:
friend_id friend_name location 1 1 Sachin Kolkata 2 2 Sourav Delhi 3 3 Dravid Bangalore 4 4 Sehwag Hyderabad 5 5 Dhoni Chennai # Remove a row with friend_id = 3 friend_id friend_name location 1 1 Sachin Kolkata 2 2 Sourav Delhi 4 4 Sehwag Hyderabad 5 5 Dhoni Chennai
Ve výše uvedeném kódu jsme nejprve vytvořili datový rámec s názvem data se třemi sloupci: přítel_id , jméno_přítele , a umístění . Chcete-li odstranit řádek pomocí přítel_id rovná 3, použili jsme podmnožina() funkci a specifikoval podmínku friend_id != 3 . Tím byl odstraněn řádek s přítel_id rovný 3.
Odebrat sloupec v R DataFrame
R
library> (dplyr)> # Create a data frame> data <-> data.frame> (> > friend_id => c> (1, 2, 3, 4, 5),> > friend_name => c> (> 'Sachin'> ,> 'Sourav'> ,> 'Dravid'> ,> 'Sehwag'> ,> 'Dhoni'> ),> > location => c> (> 'Kolkata'> ,> 'Delhi'> ,> 'Bangalore'> ,> 'Hyderabad'> ,> 'Chennai'> )> )> data> # Remove the 'location' column> data <-> select> (data, -location)> data> |
Výstup:
friend_id friend_name location 1 1 Sachin Kolkata 2 2 Sourav Delhi 3 3 Dravid Bangalore 4 4 Sehwag Hyderabad 5 5 Dhoni Chennai>Odeberte sloupec 'location' friend_id friend_name 1 1 Sachin 2 2 Sourav 3 3 Dravid 4 4 Sehwag 5 5 Dhoni
Chcete-li odstranit umístění sloupec, použili jsme vybrat() funkce a specifikované -umístění . The – znak znamená, že chceme odstranit umístění sloupec. Výsledný datový rámec data bude mít pouze dva sloupce: friend_id a jméno_přítele .
Kombinace datových rámců v R
Existují 2 způsoby, jak kombinovat datové rámce v R. Můžete je kombinovat vertikálně nebo horizontálně.
Podívejme se na oba případy na příkladu:
Kombinujte R datový rámec vertikálně
Pokud chcete vertikálně spojit 2 datové rámce, můžete použít funkce rbind(). Tato funkce funguje pro kombinaci dvou nebo více datových rámců.
R
# Creating two sample dataframes> df1 <-> data.frame> (> > Name => c> (> 'Alice'> ,> 'Bob'> ),> > Age => c> (25, 30),> > Score => c> (80, 75)> )> df2 <-> data.frame> (> > Name => c> (> 'Charlie'> ,> 'David'> ),> > Age => c> (28, 35),> > Score => c> (90, 85)> )> # Print the existing dataframes> cat> (> 'Dataframe 1:
'> )> print> (df1)> cat> (> '
Dataframe 2:
'> )> print> (df2)> # Combining the dataframes using rbind()> combined_df <-> rbind> (df1, df2)> # Print the combined dataframe> cat> (> '
Combined Dataframe:
'> )> print> (combined_df)> |
Výstup:
Dataframe 1: Name Age Score 1 Alice 25 80 2 Bob 30 75 Dataframe 2: Name Age Score 1 Charlie 28 90 2 David 35 85 Combined Dataframe: Name Age Score 1 Alice 25 80 2 Bob 30 75 3 Charlie 28 90 4 David 35 85
Kombinovat R datový rámec vodorovně:
Pokud chcete horizontálně kombinovat 2 datové rámce, můžete použít funkce cbind(). Tato funkce funguje pro kombinaci dvou nebo více datových rámců.
R
# Creating two sample dataframes> df1 <-> data.frame> (> > Name => c> (> 'Alice'> ,> 'Bob'> ),> > Age => c> (25, 30),> > Score => c> (80, 75)> )> df2 <-> data.frame> (> > Height => c> (160, 175),> > Weight => c> (55, 70)> )> # Print the existing dataframes> cat> (> 'Dataframe 1:
'> )> print> (df1)> cat> (> '
Dataframe 2:
'> )> print> (df2)> # Combining the dataframes using cbind()> combined_df <-> cbind> (df1, df2)> # Print the combined dataframe> cat> (> '
Combined Dataframe:
'> )> print> (combined_df)> |
Výstup:
Dataframe 1: Name Age Score 1 Alice 25 80 2 Bob 30 75 Dataframe 2: Height Weight 1 160 55 2 175 70 Combined Dataframe: Name Age Score Height Weight 1 Alice 25 80 160 55 2 Bob 30 75 175 70
Přečtěte si také:
- R – Objekty
- Datové struktury v programování R
V tomto článku jsme se zabývali R datové rámce, a všechny základní operace, jako je vytvoření, přístup, shrnutí, přidání a odebrání. Účelem tohoto článku je seznámit vás s datovými rámci v R, abyste je mohli používat ve svých projektech.
Doufám, že vám to pomůže pochopit koncept datových rámců v R a můžete snadno implementovat datový rámec R ve svých projektech.