准备热图数据框。需要将一列拆分为几列

问题描述 投票:0回答:1

在 R 中,我有一个包含数百行的 data.frame,如下所示:

V26 V22 n
1 40SRPS 30 1
2 A1.1-4 28 2
3 A1.1-4 29 1
4 A1.1-4 30 8
5 A1.1-4 31 5
6 AAO3 28 1
7 AAO3 31 1
8 ABCG41 28 11
9 ABCG41 29 10
10 ACA11 28 6

我想为V22~V26制作一个热图。所以问题是如何将data.frame编辑成

28 29 30 31
1 40SRPS 0 0 1 0
2 A1.1-4 2 1 8 5
3 AA03 1 0 0 1
4 ABCG41 11 10 0 0
5 ACA11 6

有什么建议吗?

我未能找到快速编辑数据框的解决方案...

r dataframe heatmap
1个回答
0
投票

您可以使用

tidyr::pivot_wider

tidyr::pivot_wider(df, names_from = V22, values_from = n, values_fill = 0)
#> # A tibble: 5 x 5
#>   V26     `30`  `28`  `29`  `31`
#>   <chr>  <int> <int> <int> <int>
#> 1 40SRPS     1     0     0     0
#> 2 A1.1-4     8     2     1     5
#> 3 AAO3       0     1     0     1
#> 4 ABCG41     0    11    10     0
#> 5 ACA11      0     6     0     0
© www.soinside.com 2019 - 2024. All rights reserved.