如何在R数据框中提取第n行?
在R中有很多方法可以找到子集,最简单的方法是使用单方括号。如果我们想要提取一行或多行连续或不连续的行,可以直接使用数据框名称和单方括号。例如,如果我们有一个名为df的数据框,并且我们想提取df的第一行,我们可以使用df[1,],就是这样。
示例
考虑以下数据框
> set.seed(214) > x<-rnorm(20) > y<-rnorm(20,1,0.5) > z<-rnorm(20,2,0.57) > a<-rnorm(20,1,0.27) > b<-rpois(20,2) > c<-rpois(20,8) > q<-rpois(20,5) > w<-rpois(20,1) > df1<-data.frame(x,y,z,a,b,c,q,w) > df1
输出
x y z a b c q w 1 -0.46774980 1.1546101 2.3342540 0.9143609 2 8 6 0 2 0.04088223 0.7590773 2.2095770 0.9712316 1 5 6 2 3 1.00335193 1.7272210 1.7318417 1.1871876 2 8 7 0 4 2.02522505 0.8515016 1.9366870 0.4658958 4 4 3 2 5 0.30640096 1.2055142 2.5719530 0.8469379 4 9 5 1 6 0.42577748 1.6967249 1.5668833 0.9602888 5 7 5 1 7 0.74889267 2.0073967 2.4715450 0.7116510 3 5 5 1 8 0.44645148 1.0209466 1.1198797 1.3250236 2 10 6 1 9 -2.20514180 1.6927716 2.1447475 1.1950635 0 7 5 2 10 1.98181366 1.3930763 2.3038074 1.1096453 2 6 5 1 11 -2.62555247 1.2849028 1.7522339 1.1864803 2 5 2 1 12 -0.72301789 1.0450742 0.2930952 1.1930435 2 8 4 2 13 -0.88306915 0.8239228 2.5604929 0.9686630 1 8 2 0 14 -0.52517037 1.3413851 2.0189895 0.8643248 2 9 4 0 15 -0.94756990 0.2507953 1.1719018 1.0294649 5 10 3 1 16 -0.51916173 1.1889573 2.1277015 0.6870978 3 8 5 0 17 -1.12071138 1.4807661 1.9248328 1.0950342 1 12 4 2 18 0.42359496 1.5472942 1.7000941 0.8440301 1 12 2 2 19 0.46975875 1.4835207 1.2282101 1.0651645 2 6 7 0 20 -0.21269994 0.8056228 1.7694949 0.9686047 5 11 6 0
提取df1的不同行
示例
> df1[1,]
输出
x y z a b c q w 1 -0.4677498 1.15461 2.334254 0.9143609 2 8 6 0
示例
> df1[2,]
输出
x y z a b c q w 2 0.04088223 0.7590773 2.209577 0.9712316 1 5 6 2
示例
> df1[3,]
输出
x y z a b c q w 3 1.003352 1.727221 1.731842 1.187188 2 8 7 0
示例
> df1[5,]
输出
x y z a b c q w 5 0.306401 1.205514 2.571953 0.8469379 4 9 5 1
示例
> df1[8,]
输出
x y z a b c q w 8 0.4464515 1.020947 1.11988 1.325024 2 10 6 1
示例
> df1[9,]
输出
x y z a b c q w 9 -2.205142 1.692772 2.144747 1.195064 0 7 5 2
示例
> df1[12,]
输出
x y z a b c q w 12 -0.7230179 1.045074 0.2930952 1.193043 2 8 4 2
示例
> df1[15,]
输出
x y z a b c q w 15 -0.9475699 0.2507953 1.171902 1.029465 5 10 3 1
示例
> df1[18,]
输出
x y z a b c q w 18 0.423595 1.547294 1.700094 0.8440301 1 12 2 2
示例
> df1[20,]
输出
x y z a b c q w 20 -0.2126999 0.8056228 1.769495 0.9686047 5 11 6 0
让我们来看另一个例子
示例
> v1<-rexp(20,1.24) > v2<-rexp(20,3.7) > v3<-runif(20,2,8) > df2<-data.frame(v1,v2,v3) > df2
输出
v1 v2 v3 1 0.20602134 0.06916392 6.107286 2 0.29568560 0.36353986 3.529261 3 0.12250478 0.18168857 4.524547 4 2.37228009 0.20580564 6.795179 5 0.51194665 0.03005732 3.208580 6 0.25267457 0.12722097 2.184198 7 0.03742423 0.01711751 4.135536 8 0.45572624 0.29921997 6.046839 9 0.63617201 0.55386034 7.812157 10 0.81699828 0.56160708 4.071993 11 0.26570318 0.06759301 3.625271 12 0.63101790 0.10742853 2.573730 13 0.60664724 0.28611242 4.053965 14 0.79000859 0.09818221 6.257031 15 0.44555943 0.01828257 3.953676 16 1.87292479 0.20373389 3.407394 17 0.17258681 0.20278572 5.874761 18 0.09658603 0.09844967 5.382432 19 0.04970458 0.46433382 7.007515 20 0.31233081 0.06999427 4.855714
提取df2的不同行
示例
> df2[3,]
输出
v1 v2 v3 3 0.1225048 0.1816886 4.524547
示例
> df2[5,]
输出
v1 v2 v3 5 0.5119466 0.03005732 3.20858
示例
> df2[7,]
输出
v1 v2 v3 7 0.03742423 0.01711751 4.135536
示例
> df2[9,]
输出
v1 v2 v3 9 0.636172 0.5538603 7.812157
示例
> df2[10,]
输出
v1 v2 v3 10 0.8169983 0.5616071 4.071993
示例
> df2[12,]
输出
v1 v2 v3 12 0.6310179 0.1074285 2.57373
示例
> df2[15,]
输出
v1 v2 v3 15 0.4455594 0.01828257 3.953676
示例
> df2[17,]
输出
v1 v2 v3 17 0.1725868 0.2027857 5.874761
示例
> df2[20,]
输出
v1 v2 v3 20 0.3123308 0.06999427 4.855714
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP