Выберите первые 4 строки data.frame в R - PullRequest
93 голосов
/ 19 апреля 2010

Как выбрать первые 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

Ответы [ 5 ]

132 голосов
/ 19 апреля 2010

Использование head:

dnow <- data.frame(x=rnorm(100), y=runif(100))
head(dnow,4) ## default is 6
109 голосов
/ 19 апреля 2010

Использование индекса:

df[1:4,]

Где значения в скобках можно интерпретировать как логические, числовые или символьные (соответствующие соответствующим именам):

df[row.index, column.index]

Прочтите справку (`[`) для более подробной информации по этому вопросу, а также прочитайте о индексных матрицах во Введении в R.

12 голосов
/ 20 ноября 2017

Если кто-то заинтересован в решении dplyr, оно очень интуитивно понятно:

dt <- dt %>%
  slice(1:4)
10 голосов
/ 22 января 2016

Если у вас менее 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 (),

> 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

Надеюсь, это поможет!

9 голосов
/ 24 сентября 2015

Поскольку в DataFrame можно просто набрать

head(data, num=10L)

для получения первых 10, например.

Для data.frame можно просто набрать

head(data, 10)

, чтобы получить первые 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...