使用R进行数据重塑(可能很容易,也可能不容易)

使用R进行数据重塑(可能很容易,也可能不容易),r,reshape,tidyverse,R,Reshape,Tidyverse,我需要生成一个包含一种且唯一特定格式的变量的表,因为它将用作另一个程序的输入。为此,我正在尝试重新塑造我的数据(当然是使用R),如下所示: # A tibble: 185,754 x 4 rowid `SMPDB ID` `HMDB ID` `TRUE` <int> <chr> <chr> <lgl> 1 1 SMP00004 HMDB0006454 TRUE 2 2 SMP000

我需要生成一个包含一种且唯一特定格式的变量的表,因为它将用作另一个程序的输入。为此,我正在尝试重新塑造我的数据(当然是使用R),如下所示:

# A tibble: 185,754 x 4
   rowid `SMPDB ID` `HMDB ID`   `TRUE`
   <int> <chr>      <chr>       <lgl> 
 1     1 SMP00004   HMDB0006454 TRUE  
 2     2 SMP00004   HMDB0001451 TRUE  
 3     3 SMP00004   HMDB0000005 TRUE  
 4     4 SMP00005   HMDB0000142 TRUE  
 5     5 SMP00006   HMDB0000060 TRUE  
 6     6 SMP00008   HMDB0000060 TRUE  
 7     7 SMP00009   HMDB0001451 TRUE  
 8     8 SMP00011   HMDB0004249 TRUE  
 9     9 SMP00011   HMDB0003850 TRUE  
10    10 SMP00011   HMDB0006953 TRUE  
# ... with 185,744 more rows
只有两列,第一列包含
SMPDB ID
,另一列包含所有
HMDB ID

你认为有可能把它改造成这样吗

也许从
排列开始

如果你想试一试的话,就在起跑台上


提前谢谢你

包含每个HMDB ID的SMPDB组合值的列是值列表还是字符或。。。?这可能是一个组汇总作业,首先按
HMDB ID
分组,然后将每个HMDB的
SMPDB ID
折叠在一起。像
…%>%摘要(SMPDB=paste(SMPDB,collapse=“,”))
(但使用实际的列名)。这就行了!!
SMPDB ID    HMDB IDs
HMDB0006454 SMP00004, SMP00027, SMP00060, ...
HMDB0001451 SMP00004, SMP00008, SMP00090, ...
...