R में data.frame की पहली 4 पंक्तियों का चयन करें


109

मैं पहली 4 पंक्तियों का चयन कैसे कर सकता हूं data.frame:

              Weight Response
1   Control     59      0.0
2 Treatment     90      0.8
3 Treatment     47      0.1
4 Treamment    106      0.1
5   Control     85      0.7
6 Treatment     73      0.6
7   Control     61      0.2

जवाबों:


154

उपयोग करें head:

dnow <- data.frame(x=rnorm(100), y=runif(100))
head(dnow,4) ## default is 6

1
नमस्ते, यदि आप 5 से 7 पंक्तियों को प्राप्त करना चाहते हैं तो क्या होगा?
बस्टर्जुन

आप "इंडेक्स" उत्तर को कहीं और इंगित कर सकते हैं। इस स्थिति में मैं सामान्य रूप से स्लाइस फ़ंक्शन का उपयोग करता हूँ। (व्यवहार ग्रुपिंग पर निर्भर करता है।)
एडुआर्डो लियोनी

129

सूचकांक का उपयोग करना:

df[1:4,]

जहाँ कोष्ठकों में मानों को तार्किक, संख्यात्मक या वर्ण (संबंधित नामों से मेल खाते) के रूप में व्याख्या की जा सकती है:

df[row.index, column.index]

इस विषय पर अधिक विवरण के लिए मदद (`[`) पढ़ें, और आर के परिचय में सूचकांक मैट्रिसेस के बारे में भी पढ़ें ।


4
यह भी काम करता है अगर आप सिर्फ एक कॉलम से पहली चार पंक्तियाँ चाहते हैं। पहले चार प्रतिक्रिया मान प्राप्त करने के लिए df[1:4, "Response"]:।
इयान सैमुअल मैकलीन एल्डर

19

यदि कोई व्यक्ति dplyrसमाधान में रुचि रखता है , तो यह बहुत सहज है:

dt <- dt %>%
  slice(1:4)

12

यदि आपके पास 4 से कम पंक्तियाँ हैं, तो आप headफ़ंक्शन ( head(data, 4)या head(data, n=4)) का उपयोग कर सकते हैं और यह एक आकर्षण की तरह काम करता है। लेकिन, मान लें कि हमारे पास 15 पंक्तियों के साथ निम्नलिखित डेटासेट हैं

>data <- data <- read.csv("./data.csv", sep = ";", header=TRUE)

>data
 LungCap Age Height Smoke Gender Caesarean
1    6.475   6   62.1    no   male        no
2   10.125  18   74.7   yes female        no
3    9.550  16   69.7    no female       yes
4   11.125  14   71.0    no   male        no
5    4.800   5   56.9    no   male        no
6    6.225  11   58.7    no female        no
7    4.950   8   63.3    no   male       yes
8    7.325  11   70.4    no  male         no
9    8.875  15   70.5    no   male        no
10   6.800  11   59.2    no   male        no
11   6.900  12   59.3    no   male        no
12   6.100  13   59.4    no   male        no
13   6.110  14   59.5    no   male        no
14   6.120  15   59.6    no   male        no
15   6.130  16   59.7    no   male        no

मान लीजिए, आप पहली 10 पंक्तियों का चयन करना चाहते हैं। इसे करने का सबसे आसान तरीका होगा data[1:10, ]

> data[1:10,]
   LungCap Age Height Smoke Gender Caesarean
1    6.475   6   62.1    no   male        no
2   10.125  18   74.7   yes female        no
3    9.550  16   69.7    no female       yes
4   11.125  14   71.0    no   male        no
5    4.800   5   56.9    no   male        no
6    6.225  11   58.7    no female        no
7    4.950   8   63.3    no   male       yes
8    7.325  11   70.4    no  male         no
9    8.875  15   70.5    no   male        no
10   6.800  11   59.2    no   male        no

हालाँकि, मान लें कि आप पहले 19 पंक्तियों को पुनः प्राप्त करने का प्रयास करते हैं और देखते हैं कि क्या होता है - आपके पास लापता मान होंगे

> data[1:19,]
     LungCap Age Height Smoke Gender Caesarean
1      6.475   6   62.1    no   male        no
2     10.125  18   74.7   yes female        no
3      9.550  16   69.7    no female       yes
4     11.125  14   71.0    no   male        no
5      4.800   5   56.9    no   male        no
6      6.225  11   58.7    no female        no
7      4.950   8   63.3    no   male       yes
8      7.325  11   70.4    no  male         no
9      8.875  15   70.5    no   male        no
10     6.800  11   59.2    no   male        no
11     6.900  12   59.3    no   male        no
12     6.100  13   59.4    no   male        no
13     6.110  14   59.5    no   male        no
14     6.120  15   59.6    no   male        no
15     6.130  16   59.7    no   male        no
NA        NA  NA     NA  <NA>   <NA>      <NA>
NA.1      NA  NA     NA  <NA>   <NA>      <NA>
NA.2      NA  NA     NA  <NA>   <NA>      <NA>
NA.3      NA  NA     NA  <NA>   <NA>      <NA>

और सिर के साथ () फ़ंक्शन,

> head(data, 19) # or head(data, n=19)
   LungCap Age Height Smoke Gender Caesarean
1    6.475   6   62.1    no   male        no
2   10.125  18   74.7   yes female        no
3    9.550  16   69.7    no female       yes
4   11.125  14   71.0    no   male        no
5    4.800   5   56.9    no   male        no
6    6.225  11   58.7    no female        no
7    4.950   8   63.3    no   male       yes
8    7.325  11   70.4    no  male         no
9    8.875  15   70.5    no   male        no
10   6.800  11   59.2    no   male        no
11   6.900  12   59.3    no   male        no
12   6.100  13   59.4    no   male        no
13   6.110  14   59.5    no   male        no
14   6.120  15   59.6    no   male        no
15   6.130  16   59.7    no   male        no

उममीद है कि इससे मदद मिलेगी!


10

DataFrame पर कोई भी टाइप कर सकता है

head(data, num=10L)

उदाहरण के लिए पहले 10 पाने के लिए।

डेटा.फ्रेम के लिए कोई भी टाइप कर सकता है

head(data, 10)

पहले 10 पाने के लिए।


यह उत्तर स्वीकृत उत्तर से अलग कैसे है जो इस उत्तर से 5 साल पहले पोस्ट किया गया था? stackoverflow.com/a/2667843 क्या यह कोई नई जानकारी जोड़ता है?
रौनक शाह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.