gpt4 book ai didi

重新调整一个因素

转载 作者:行者123 更新时间:2023-12-02 21:50:00 25 4
gpt4 key购买 nike

给定一个无序因子 ID、每个级别的排名的引用向量以及每个级别的标签。现在我想按给定的排名对 ID 进行排序,然后我想覆盖因子中的标签。

如果有更好的方法,您能否给出建议:

ID<-factor(c(1,2,2,3,1,3,3,2,1,1)+10)
Rank<-c("11"=3,"12"=1,"13"=2)
Label<-c("11"="B","12"="A","13"="C")
ID.Rank<-factor(ID, levels=names(Rank),labels=Rank)
ID.Rank<-factor(ID.Rank, levels=sort(Rank),order=T)
ID.Label<-factor(ID, levels=names(Label),labels=Label)
data.frame(ID,ID.Rank,ID.Label)
### here is importent that ID.Rank has a certain order.
factor(ID.Rank, labels=Label[match(levels(ID.Rank), Rank)])

最佳答案

如果我正确理解你的问题,这里是解决问题的方法。

set.seed(2)
ID<-as.numeric(ID)
df1<-as.data.frame(ID)
> df1
ID
1 1
2 1
3 3
4 2
5 3
6 2
7 3
8 3
9 2
10 3
df2<-as.data.frame(Rank)
df2$ID<-rownames(df2)
> df2
Rank ID
1 3 1
2 1 2
3 2 3

df3<-merge(df1,df2,by="ID")
ID Rank
1 1 3
2 1 3
3 2 1
4 2 1
5 2 1
6 3 2
7 3 2
8 3 2
9 3 2
10 3 2

df3$Rank 是您所看到的最终结果。您可以将其转换为因子。

根据评论更新:如果您想要 ID 的原始顺序:

df1$IDo<-rownames(df1)
df3
ID IDo Rank
1 1 1 3
2 1 7 3
3 1 4 3
4 2 3 1
5 2 9 1
6 2 10 1
7 3 2 2
8 3 5 2
9 3 6 2
10 3 8 2

关于重新调整一个因素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827532/

25 4 0
文章推荐: html - 使用CSS将跨度定位在图像下方
文章推荐: hadoop - 在同一集群中安装Hadoop的第二个副本?
文章推荐: hadoop - 在Hadoop中使用CombineFileInputFormat
文章推荐: css - 显示:inline-block in

and

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com