我有两个数据框/小节。
第一个(除第一列外,以零初始化):
> df_
# A tibble: 33 x 101
sample_id SOM1 SOM2 SOM3 SOM4 ..... SOM100
<fct> <dbl> <dbl> <dbl> <dbl>
1 1 0 0 0 0
2 2 0 0 0 0
3 3 0 0 0 0
4 4 0 0 0 0
5 5 0 0 0 0
.
.
. 33
第二个:
> sum
# A tibble: 3,300 x 3
# Groups: sample_id [33]
sample_id cluster_id count
<fct> <chr> <int>
1 1 SOM1 875
2 1 SOM2 1102
3 1 SOM3 1028
4 1 SOM4 925
5 1 SOM5 10164
6 1 SOM6 5425
7 1 SOM7 1593
8 1 SOM8 290
9 1 SOM9 6180
10 1 SOM10 10850
# … with 3,290 more rows
我想将"sample_id"
的{{1}}匹配到sum
的{{1}},还要匹配"sample_id"
的{{1}}到{{1 }},如果两个条件的匹配都为true,则将df_
的{{1}}列中的对应值复制到"cluster_id"
中发现条件为true的单元格中。最后,我想用sum
的{{1}} Cloumn中的值替换df_
中的所有零。
我希望最终结果看起来像下面的数据框。
"count"
任何帮助或建议将不胜感激。
答案 0 :(得分:1)
如果我理解的正确,您正在尝试获取sum
数据帧并将其转换为与_df
相同的视图(切勿像这样调用数据帧sum
最常见的R函数)。
您应该可以使用:
library(tidyverse)
sum %>% spread(key = 'cluster_id', value = 'count')