如何在不使用列名的情况下在R中创建数据帧的子集?
数据框的子集可以通过使用列名和列号来完成。同样,我们可以按后续列号和非后续列号进行子集化。例如,如果我们有一个包含x,y,z列的数据帧df,则可以使用df [,c(1,3)]来制作x和z的子集。
示例
请看以下数据帧:
> set.seed(191)> x1<-rnorm(20,1)
> x2<-rnorm(20,5)
> x3<-rnorm(20,2)
> x4<-rnorm(20,4)
> df1<-data.frame(x1,x2,x3,x4)
> df1
输出结果
x1 x2 x3 x41 0.8464828 5.517463 1.3510192 3.879824
2 1.7157414 4.902044 1.7288418 4.915879
3 2.0612258 5.343704 3.4476224 3.198662
4 0.9817547 5.310376 0.7360361 4.191265
5 1.3137032 4.690344 1.8930611 3.195032
6 3.2946391 5.356714 0.7507614 2.762971
7 1.1292996 3.956172 1.3893677 3.472453
8 0.5938585 3.524826 2.4999638 3.442268
9 2.5721891 3.986746 2.1758887 3.065743
10 0.3154647 2.602883 2.2014771 4.111108
11 0.6326024 6.630669 2.4982478 2.310966
12 1.9772099 4.863338 3.0983665 3.976421
13 2.4442273 3.390198 3.7922736 3.743440
14 1.1505010 4.512891 2.7232374 3.528800
15 2.2532166 4.969238 2.1687148 3.691669
16 0.5104193 4.440487 1.9766220 4.120722
17 0.9377628 2.559686 3.1919780 2.755742
18 -0.3147257 4.919251 3.0462375 2.625914
19 0.3678290 4.088426 3.3926200 3.797904
20 2.0272953 4.151505 3.1796609 2.771270
通过使用列号来子集数据帧df1的列:
示例
> df1[,1]
输出结果
[1] 0.8464828 1.7157414 2.0612258 0.9817547 1.3137032 3.2946391[7] 1.1292996 0.5938585 2.5721891 0.3154647 0.6326024 1.9772099
[13] 2.4442273 1.1505010 2.2532166 0.5104193 0.9377628 -0.3147257
[19] 0.3678290 2.0272953
示例
> df1[,1:2]
输出结果
x1 x21 0.8464828 5.517463
2 1.7157414 4.902044
3 2.0612258 5.343704
4 0.9817547 5.310376
5 1.3137032 4.690344
6 3.2946391 5.356714
7 1.1292996 3.956172
8 0.5938585 3.524826
9 2.5721891 3.986746
10 0.3154647 2.602883
11 0.6326024 6.630669
12 1.9772099 4.863338
13 2.4442273 3.390198
14 1.1505010 4.512891
15 2.2532166 4.969238
16 0.5104193 4.440487
17 0.9377628 2.559686
18 -0.3147257 4.919251
19 0.3678290 4.088426
20 2.0272953 4.151505
示例
> df1[,1:3]
输出结果
x1 x2 x31 0.8464828 5.517463 1.3510192
2 1.7157414 4.902044 1.7288418
3 2.0612258 5.343704 3.4476224
4 0.9817547 5.310376 0.7360361
5 1.3137032 4.690344 1.8930611
6 3.2946391 5.356714 0.7507614
7 1.1292996 3.956172 1.3893677
8 0.5938585 3.524826 2.4999638
9 2.5721891 3.986746 2.1758887
10 0.3154647 2.602883 2.2014771
11 0.6326024 6.630669 2.4982478
12 1.9772099 4.863338 3.0983665
13 2.4442273 3.390198 3.7922736
14 1.1505010 4.512891 2.7232374
15 2.2532166 4.969238 2.1687148
16 0.5104193 4.440487 1.9766220
17 0.9377628 2.559686 3.1919780
18 -0.3147257 4.919251 3.0462375
19 0.3678290 4.088426 3.3926200
20 2.0272953 4.151505 3.1796609
示例
> df1[,2:4]
输出结果
x2 x3 x41 5.517463 1.3510192 3.879824
2 4.902044 1.7288418 4.915879
3 5.343704 3.4476224 3.198662
4 5.310376 0.7360361 4.191265
5 4.690344 1.8930611 3.195032
6 5.356714 0.7507614 2.762971
7 3.956172 1.3893677 3.472453
8 3.524826 2.4999638 3.442268
9 3.986746 2.1758887 3.065743
10 2.602883 2.2014771 4.111108
11 6.630669 2.4982478 2.310966
12 4.863338 3.0983665 3.976421
13 3.390198 3.7922736 3.743440
14 4.512891 2.7232374 3.528800
15 4.969238 2.1687148 3.691669
16 4.440487 1.9766220 4.120722
17 2.559686 3.1919780 2.755742
18 4.919251 3.0462375 2.625914
19 4.088426 3.3926200 3.797904
20 4.151505 3.1796609 2.771270
示例
> df1[,c(1,3)]
输出结果
x1 x31 0.8464828 1.3510192
2 1.7157414 1.7288418
3 2.0612258 3.4476224
4 0.9817547 0.7360361
5 1.3137032 1.8930611
6 3.2946391 0.7507614
7 1.1292996 1.3893677
8 0.5938585 2.4999638
9 2.5721891 2.1758887
10 0.3154647 2.2014771
11 0.6326024 2.4982478
12 1.9772099 3.0983665
13 2.4442273 3.7922736
14 1.1505010 2.7232374
15 2.2532166 2.1687148
16 0.5104193 1.9766220
17 0.9377628 3.1919780
18 -0.3147257 3.0462375
19 0.3678290 3.3926200
20 2.0272953 3.1796609
示例
> df1[,c(2,4,1)]
输出结果
x2 x4 x11 5.517463 3.879824 0.8464828
2 4.902044 4.915879 1.7157414
3 5.343704 3.198662 2.0612258
4 5.310376 4.191265 0.9817547
5 4.690344 3.195032 1.3137032
6 5.356714 2.762971 3.2946391
7 3.956172 3.472453 1.1292996
8 3.524826 3.442268 0.5938585
9 3.986746 3.065743 2.5721891
10 2.602883 4.111108 0.3154647
11 6.630669 2.310966 0.6326024
12 4.863338 3.976421 1.9772099
13 3.390198 3.743440 2.4442273
14 4.512891 3.528800 1.1505010
15 4.969238 3.691669 2.2532166
16 4.440487 4.120722 0.5104193
17 2.559686 2.755742 0.9377628
18 4.919251 2.625914 -0.3147257
19 4.088426 3.797904 0.3678290
20 4.151505 2.771270 2.0272953
以上是 如何在不使用列名的情况下在R中创建数据帧的子集? 的全部内容, 来源链接: utcz.com/z/326469.html