आर डेटा फ़्रेम: कैसे बनाएं, जोड़ें, चुनें और सबसेट करें

डेटा फ़्रेम क्या है?

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