gpt4 book ai didi

r - 从对象中提取的值以不同的顺序分配

转载 作者:行者123 更新时间:2023-12-01 13:57:53 25 4
gpt4 key购买 nike

<分区>

我正在处理一个简单的 data.frame 对象,只想为其分配一个简单的列,该列是从 character 对象中提取的。问题是这些值是按错误的顺序提取的。

我有一个如下所示的数据框:

>df
Sample ID
1 558 Benign_or_BL.FFPE
2 105 Benign_or_BL.FFPE
3 37 Early.FFPE
4 79 Early.FFPE
5 180 Early.FFPE
6 133 Late.FFPE
7 152 Late.FFPE
8 265 Late.FFPE
9 558 Benign_or_BL.Fresh
10 105 Benign_or_BL.Fresh
11 573 Benign_or_BL.Fresh
12 374 Benign_or_BL.Fresh
13 307 Benign_or_BL.Fresh
14 403 Benign_or_BL.Fresh
15 37 Early.Fresh
16 79 Early.Fresh
17 180 Early.Fresh
18 584 Early.Fresh
19 482 Early.Fresh
20 500 Early.Fresh
21 571 Early.Fresh
22 572 Early.Fresh
23 371 Early.Fresh
24 133 Late.Fresh
25 152 Late.Fresh
26 265 Late.Fresh
27 65 Late.Fresh
28 422 Late.Fresh
29 562 Late.Fresh
30 485 Late.Fresh
31 492 Late.Fresh
32 518 Late.Fresh

我想做的只是为列 df$ID 的每一层分配一个 HEX 颜色代码。

我的第一个尝试是创建一个包含与 df$ID 上的级别数相同数量的颜色的对象。这是我所做的:

> levels(as.factor(targetsJ$ID2))
[1] "Benign_or_BL.FFPE" "Benign_or_BL.Fresh" "Early.FFPE" "Early.Fresh" "Late.FFPE"
[6] "Late.Fresh"

现在,我按照完全相同的顺序创建一个具有我想要的颜色的对象:

> colors <- c("#9b9dff","#5153ff","#0003e0","#f6a5aa","#ee4c55","#c4131d")

现在,添加包含颜色编码的额外列,我得到如下内容:

> df$colcode <- colors[as.factor(targetsJ$ID)]

> head(df, n=10)
Sample ID colcode
1 558 Benign_or_BL.FFPE #9b9dff
2 105 Benign_or_BL.FFPE #9b9dff
3 37 Early.FFPE #0003e0
4 79 Early.FFPE #0003e0
5 180 Early.FFPE #0003e0
6 133 Late.FFPE #ee4c55
7 152 Late.FFPE #ee4c55
8 265 Late.FFPE #ee4c55
9 558 Benign_or_BL.Fresh #5153ff
10 105 Benign_or_BL.Fresh #5153ff

如您所见,颜色代码的顺序与对象 colors 上的顺序不同。

我期待的是:

> head(df, n=10)
Sample ID colcode
1 558 Benign_or_BL.FFPE #9b9dff
2 105 Benign_or_BL.FFPE #9b9dff
3 37 Early.FFPE #5153ff
4 79 Early.FFPE #5153ff
5 180 Early.FFPE #5153ff
6 133 Late.FFPE #0003e0
7 152 Late.FFPE #0003e0
8 265 Late.FFPE #0003e0
9 558 Benign_or_BL.Fresh #f6a5aa
10 105 Benign_or_BL.Fresh #f6a5aa

这是怎么回事?非常感谢任何帮助。

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