如何在不使用列名称的情况下创建 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 x4 1 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 x2 1 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 x3 1 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 x4 1 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 x3 1 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 x1 1 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
广告