[英]Select first 4 rows of a data.frame in R
我怎樣才能 select data.frame
的前 4 行:
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
使用head
:
dnow <- data.frame(x=rnorm(100), y=runif(100))
head(dnow,4) ## default is 6
使用索引:
df[1:4,]
括號中的值可以解釋為邏輯,數字或字符(匹配相應的名稱):
df[row.index, column.index]
閱讀幫助(`[`)以獲取有關此主題的更多詳細信息,並閱讀R簡介中的索引矩陣 。
如果有人對dplyr
解決方案感興趣,它非常直觀:
dt <- dt %>%
slice(1:4)
如果你有少於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
希望這有幫助!
對於DataFrame,可以簡單地輸入
head(data, num=10L)
以前10個為例。
對於data.frame,可以簡單地輸入
head(data, 10)
獲得前10名。
使用dplyr
中的slice_head
的另一個選項:
library(dplyr)
mtcars %>%
slice_head(n = 4)
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
使用reprex v2.0.2創建於 2022-08-27
請注意: n
必須明確命名!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.