匹配两个dataframes/Tible和copy值的行和列

匹配两个dataframes/Tible和copy值的行和列,r,dataframe,data-science,tidyverse,tibble,R,Dataframe,Data Science,Tidyverse,Tibble,我有两个数据帧/tibble 第一个(除第一列外,初始化为零): 任何帮助或建议都将不胜感激。如果我理解正确,您正在尝试使用sum数据帧,并将其转换为与\u df相同的视图(顺便说一句,不要调用数据帧sum,因为它是最常见的R函数之一) 您应该能够使用以下功能: library(tidyverse) sum %>% spread(key = 'cluster_id', value = 'count') 您只需使用tidyverse,然后sum%>%spread(cluster\u id,

我有两个数据帧/tibble

第一个(除第一列外,初始化为零):


任何帮助或建议都将不胜感激。

如果我理解正确,您正在尝试使用
sum
数据帧,并将其转换为与
\u df
相同的视图(顺便说一句,不要调用数据帧
sum
,因为它是最常见的R函数之一)

您应该能够使用以下功能:

library(tidyverse)
sum %>% spread(key = 'cluster_id', value = 'count')

您只需使用tidyverse,然后
sum%>%spread(cluster\u id,count,fill=0)
@DavidKlotz好极了!!谢谢注意,你可能想给你的TIBLE起一个不同的名字,因为
sum
是一个基本函数是的,它是一个临时函数。我会给你一个更合理的名字@DavidKlotz顺便说一句,排列后我的列名未排序。这就像SOM1 SOM10而不是SOM1 SOM2。。。
> 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
> df_
# A tibble: 33 x 101
   sample_id  SOM1  SOM2  SOM3  SOM4  ..... SOM100
   <fct>     <dbl> <dbl> <dbl> <dbl> 
 1 1           875  1102  1028   925 
 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
library(tidyverse)
sum %>% spread(key = 'cluster_id', value = 'count')