如何根据类别在 R 中创建 ID 列?
如果我们在R数据框中有一个分类列,那么它可以用于创建一个ID列,其中每个类别都将根据分类列中的类别定义自己的ID。
为此,我们需要使用as.factor和as.numeric函数读取分类列,如下例所示。
示例1
以下代码段创建了一个示例数据框-
Group<-sample(c("Male","Female"),20,replace=TRUE)
Score<-sample(20:50,20)
df1<-data.frame(Group,Score)
df1输出结果创建以下数据框-
Group Score 1 Female 20 2 Female 27 3 Female 29 4 Male 50 5 Male 42 6 Female 41 7 Male 32 8 Male 25 9 Female 21 10 Female 49 11 Female 31 12 Female 28 13 Female 36 14 Female 26 15 Male 43 16 Female 45 17 Male 23 18 Female 46 19 Male 48 20 Male 33
要基于df1中的Group创建ID列,请将以下代码添加到上述代码段中-
Group<-sample(c("Male","Female"),20,replace=TRUE)
Score<-sample(20:50,20)
df1<-data.frame(Group,Score)
df1$ID<-as.numeric(as.factor(df1$Group))
df1输出结果如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
Group Score ID 1 Female 20 1 2 Female 27 1 3 Female 29 1 4 Male 50 2 5 Male 42 2 6 Female 41 1 7 Male 32 2 8 Male 25 2 9 Female 21 1 10 Female 49 1 11 Female 31 1 12 Female 28 1 13 Female 36 1 14 Female 26 1 15 Male 43 2 16 Female 45 1 17 Male 23 2 18 Female 46 1 19 Male 48 2 20 Male 33 2
示例2
以下代码段创建了一个示例数据框-
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Rank<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Class,Rank)
df2输出结果创建以下数据框-
Class Rank 1 Third 5 2 Third 7 3 First 3 4 Third 8 5 Second 9 6 Third 9 7 First 3 8 Second 10 9 First 4 10 Third 2 11 Third 8 12 Third 1 13 Third 10 14 First 6 15 Third 5 16 Second 6 17 Third 7 18 Third 5 19 Third 2 20 Second 5
要基于df2中的Class创建ID列,请将以下代码添加到上面的代码段中-
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Rank<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Class,Rank)
df2$ID<-as.numeric(as.factor(df2$Class))
df2输出结果如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
Class Rank ID 1 Third 5 3 2 Third 7 3 3 First 3 1 4 Third 8 3 5 Second 9 2 6 Third 9 3 7 First 3 1 8 Second 10 2 9 First 4 1 10 Third 2 3 11 Third 8 3 12 Third 1 3 13 Third 10 3 14 First 6 1 15 Third 5 3 16 Second 6 2 17 Third 7 3 18 Third 5 3 19 Third 2 3 20 Second 5 2
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短