आर डेटा फ़्रेम: कैसे बनाएं, जोड़ें, चुनें और सबसेट करें
डेटा फ़्रेम क्या है?
A डेटा ढांचा समान लंबाई वाले सदिशों की सूची है। मैट्रिक्स में केवल एक प्रकार का डेटा होता है, जबकि डेटा फ़्रेम विभिन्न डेटा प्रकारों (संख्यात्मक, वर्ण, कारक, आदि) को स्वीकार करता है।
डेटा फ़्रेम कैसे बनाएं
हम एक डेटाफ्रेम बना सकते हैं R डेटा.फ्रेम() फ़ंक्शन में वेरिएबल a,b,c,d पास करके। हम R डेटाफ़्रेम बना सकते हैं और कॉलम को name() के साथ नाम दे सकते हैं और बस वेरिएबल्स का नाम निर्दिष्ट कर सकते हैं।
data.frame(df, stringsAsFactors = TRUE)
तर्क:
- df: यह एक मैट्रिक्स हो सकता है जिसे डेटा फ्रेम में परिवर्तित किया जा सकता है या इसमें शामिल होने के लिए चरों का संग्रह हो सकता है
- स्ट्रिंग्सअसफैक्टर्स: स्ट्रिंग को डिफ़ॉल्ट रूप से फ़ैक्टर में बदलें
हम समान लंबाई के चार चरों को मिलाकर अपने पहले डेटा सेट के लिए R में एक डेटाफ्रेम बना सकते हैं।
# Create a, b, c, d variables a <- c(10,20,30,40) b <- c('book', 'pen', 'textbook', 'pencil_case') c <- c(TRUE,FALSE,TRUE,FALSE) d <- c(2.5, 8, 10, 7) # Join the variables to create a data frame df <- data.frame(a,b,c,d) df
आउटपुट:
## a b c d ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0 ## 3 30 textbook TRUE 10.0 ## 4 40 pencil_case FALSE 7.0
हम देख सकते हैं कि कॉलम हेडर का नाम वैरिएबल के समान ही है। हम R में फ़ंक्शन names() के साथ कॉलम का नाम बदल सकते हैं। नीचे R create dataframe उदाहरण देखें:
# Name the data frame names(df) <- c('ID', 'items', 'store', 'price') df
आउटपुट:
## ID items store price ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0 ## 3 30 textbook TRUE 10.0 ## 4 40 pencil_case FALSE 7.0
# Print the structure str(df)
आउटपुट:
## 'data.frame': 4 obs. of 4 variables: ## $ ID : num 10 20 30 40 ## $ items: Factor w/ 4 levels "book","pen","pencil_case",..: 1 2 4 3 ## $ store: logi TRUE FALSE TRUE FALSE ## $ price: num 2.5 8 10 7
डिफ़ॉल्ट रूप से, डेटा फ़्रेम स्ट्रिंग वेरिएबल को एक कारक के रूप में लौटाता है।
स्लाइस डेटा फ़्रेम
डेटा फ़्रेम के मानों को SLICE करना संभव है। हम डेटा फ़्रेम के नाम से पहले ब्रैकेट में लौटने के लिए पंक्तियों और स्तंभों का चयन करते हैं।
डेटा फ़्रेम पंक्तियों और स्तंभों से बना होता है, df[A, B]। A पंक्तियों और B स्तंभों को दर्शाता है। हम पंक्तियों और/या स्तंभों को निर्दिष्ट करके स्लाइस कर सकते हैं।
चित्र 1 से, बायां भाग दर्शाता है पंक्तियाँ, और दाहिना भाग है कॉलमध्यान दें कि प्रतीक : का अर्थ है सेवा मेरेउदाहरण के लिए, 1:3 का मतलब 1 से XNUMX तक के मानों का चयन करना है। सेवा मेरे 3.
नीचे दिए गए चित्र में हम प्रदर्शित करते हैं कि डेटा फ़्रेम के विभिन्न चयन तक कैसे पहुंचा जाए:
- पीला तीर चयन करता है पंक्ति में 1 स्तंभ 2
- हरा तीर चयन करता है पंक्तियाँ 1 से 2 तक
- लाल तीर का चयन करता है स्तंभ 1
- नीला तीर चयन करता है पंक्तियाँ 1 से 3 और कॉलम 3 से 4 तक
ध्यान दें कि, यदि हम बायाँ भाग खाली छोड़ दें, तो R चयन करेगा सभी पंक्तियाँसादृश्य से, यदि हम दायाँ भाग खाली छोड़ दें, तो R चयन करेगा सभी स्तंभ.
हम कंसोल में कोड चला सकते हैं:
## Select row 1 in column 2 df[1,2]
आउटपुट:
## [1] book ## Levels: book pen pencil_case textbook
## Select Rows 1 to 2 df[1:2,]
आउटपुट:
## ID items store price ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0
## Select Columns 1 df[,1]
आउटपुट:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4 df[1:3, 3:4]
आउटपुट:
## store price ## 1 TRUE 2.5 ## 2 FALSE 8.0 ## 3 TRUE 10.0
कॉलम को उनके नाम से चुनना भी संभव है। उदाहरण के लिए, नीचे दिया गया कोड दो कॉलम निकालता है: ID और स्टोर।
# Slice with columns name df[, c('ID', 'store')]
आउटपुट:
## ID store ## 1 10 TRUE ## 2 20 FALSE ## 3 30 TRUE ## 4 40 FALSE
डेटा फ़्रेम में कॉलम जोड़ें
आप डेटा फ़्रेम में कॉलम भी जोड़ सकते हैं। डेटाफ़्रेम R वैरिएबल को जोड़ने और R में डेटाफ़्रेम में कॉलम जोड़ने के लिए आपको $ प्रतीक का उपयोग करना होगा।
# Create a new vector quantity <- c(10, 35, 40, 5) # Add `quantity` to the `df` data frame df$quantity <- quantity df
आउटपुट:
## ID items store price quantity ## 1 10 book TRUE 2.5 10 ## 2 20 pen FALSE 8.0 35 ## 3 30 textbook TRUE 10.0 40 ## 4 40 pencil_case FALSE 7.0 5
नोट: वेक्टर में तत्वों की संख्या डेटा फ़्रेम में तत्वों की संख्या के बराबर होनी चाहिए। डेटाफ़्रेम R में कॉलम जोड़ने के लिए निम्न कथन निष्पादित करें
quantity <- c(10, 35, 40) # Add `quantity` to the `df` data frame df$quantity <- quantity
त्रुटि देता है:
Error in ` lt;-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40)) replacement has 3 rows, data has 4
डेटा फ़्रेम का एक कॉलम चुनें
कभी-कभी, हमें भविष्य में उपयोग के लिए डेटा फ़्रेम के कॉलम को स्टोर करने या कॉलम पर ऑपरेशन करने की आवश्यकता होती है। डेटा फ़्रेम से कॉलम को चुनने के लिए हम $ चिह्न का उपयोग कर सकते हैं।
# Select the column ID df$ID
आउटपुट:
## [1] 1 2 3 4
डेटा फ़्रेम का उपसमूह
पिछले अनुभाग में, हमने बिना किसी शर्त के एक संपूर्ण कॉलम का चयन किया था। सबसेट इस आधार पर कि कोई निश्चित स्थिति सत्य थी या नहीं।
हम subset() फ़ंक्शन का उपयोग करते हैं।
subset(x, condition) arguments: - x: data frame used to perform the subset - condition: define the conditional statement
हम केवल 10 से अधिक मूल्य वाली वस्तुओं को वापस करना चाहते हैं, हम यह कर सकते हैं:
# Select price above 5 subset(df, subset = price > 5)
आउटपुट:
ID items store price 2 20 pen FALSE 8 3 30 textbook TRUE 10 4 40 pencil_case FALSE 7