如何选择R数据帧中不在向量中的列?
R数据帧可以具有很多列,我们可能希望选择其中几列。在这种情况下,最好通过取消选择不需要的列而不是选择我们需要的列来提取列,因为需要的列数多于不需要的列。借助!可以轻松完成此操作!标志和单个方括号。
示例
请看以下数据帧-
> Age<-sample(20:50,20)> Gender<-rep(c("Male","Female"),times=10)
> Salary<-sample(20000:40000,20)
> ID<-1:20
> Education<-rep(c("Grad","Post-Grad","PhD","Highschool"),times=5)
> Experience<-sample(1:5,20,replace=TRUE)
> df<-data.frame(ID,Gender,Age,Salary,Experience,Education)
> df
输出结果
ID Gender Age Salary Experience Education1 1 Male 35 38245 4 Grad
2 2 Female 43 21995 5 Post-Grad
3 3 Male 21 38941 4 PhD
4 4 Female 26 36599 2 Highschool
5 5 Male 50 27477 2 Grad
6 6 Female 28 25281 2 Post-Grad
7 7 Male 33 20310 4 PhD
8 8 Female 24 30171 2 Highschool
9 9 Male 38 28779 3 Grad
10 10 Female 46 31213 3 Post-Grad
11 11 Male 36 27697 4 PhD
12 12 Female 41 36929 2 Highschool
13 13 Male 42 35367 2 Grad
14 14 Female 29 28711 1 Post-Grad
15 15 Male 22 29253 3 PhD
16 16 Female 30 28982 5 Highschool
17 17 Male 39 39458 4 Grad
18 18 Female 27 31891 2 Post-Grad
19 19 Male 48 29931 2 PhD
20 20 Female 31 34817 2 Highschool
选择除性别和年龄以外的列-
> df[,!names(df)%in%c("Gender","Age")]
输出结果
ID Salary Experience Education1 1 38245 4 Grad
2 2 21995 5 Post-Grad
3 3 38941 4 PhD
4 4 36599 2 Highschool
5 5 27477 2 Grad
6 6 25281 2 Post-Grad
7 7 20310 4 PhD
8 8 30171 2 Highschool
9 9 28779 3 Grad
10 10 31213 3 Post-Grad
11 11 27697 4 PhD
12 12 36929 2 Highschool
13 13 35367 2 Grad
14 14 28711 1 Post-Grad
15 15 29253 3 PhD
16 16 28982 5 Highschool
17 17 39458 4 Grad
18 18 31891 2 Post-Grad
19 19 29931 2 PhD
20 20 34817 2 Highschool
选择ID和教育以外的列-
> df[,!names(df)%in%c("ID","Education")]
输出结果
Gender Age Salary Experience1 Male 35 38245 4
2 Female 43 21995 5
3 Male 21 38941 4
4 Female 26 36599 2
5 Male 50 27477 2
6 Female 28 25281 2
7 Male 33 20310 4
8 Female 24 30171 2
9 Male 38 28779 3
10 Female 46 31213 3
11 Male 36 27697 4
12 Female 41 36929 2
13 Male 42 35367 2
14 Female 29 28711 1
15 Male 22 29253 3
16 Female 30 28982 5
17 Male 39 39458 4
18 Female 27 31891 2
19 Male 48 29931 2
20 Female 31 34817 2
选择ID,教育和性别以外的列-
> df[,!names(df)%in%c("ID","Education","Gender")]
输出结果
Age Salary Experience1 35 38245 4
2 43 21995 5
3 21 38941 4
4 26 36599 2
5 50 27477 2
6 28 25281 2
7 33 20310 4
8 24 30171 2
9 38 28779 3
10 46 31213 3
11 36 27697 4
12 41 36929 2
13 42 35367 2
14 29 28711 1
15 22 29253 3
16 30 28982 5
17 39 39458 4
18 27 31891 2
19 48 29931 2
20 31 34817 2
选择ID,年龄和性别以外的列-
> df[,!names(df)%in%c("ID","Age","Gender")]
Salary Experience Education1 38245 4 Grad
2 21995 5 Post-Grad
3 38941 4 PhD
4 36599 2 Highschool
5 27477 2 Grad
6 25281 2 Post-Grad
7 20310 4 PhD
8 30171 2 Highschool
9 28779 3 Grad
10 31213 3 Post-Grad
11 27697 4 PhD
12 36929 2 Highschool
13 35367 2 Grad
14 28711 1 Post-Grad
15 29253 3 PhD
16 28982 5 Highschool
17 39458 4 Grad
18 31891 2 Post-Grad
19 29931 2 PhD
20 34817 2 Highschool
以上是 如何选择R数据帧中不在向量中的列? 的全部内容, 来源链接: utcz.com/z/354323.html