Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据一列重塑R中的数据帧_R_Dataframe_Reshape - Fatal编程技术网

根据一列重塑R中的数据帧

根据一列重塑R中的数据帧,r,dataframe,reshape,R,Dataframe,Reshape,我有这样一个数据框: TargetID Gene cg26365299 HOXA9 cg26476852 HOXA9 cg26492446 BHLHE23 cg26521404 HOXA9 cg26531174 CDX1 cg26595643 VAX1 我想把它做成这个形状 Gene TargetID HOXA9 cg26365299;cg26476852;cg265

我有这样一个数据框:

TargetID        Gene
cg26365299        HOXA9
cg26476852        HOXA9
cg26492446      BHLHE23
cg26521404        HOXA9
cg26531174         CDX1
cg26595643         VAX1
我想把它做成这个形状

Gene         TargetID
HOXA9        cg26365299;cg26476852;cg26521404
BHLHE23      cg26492446
CDX1         cg26531174
VAX1         cg26595643

我尝试使用dcast,但它不起作用

使用
aggregate
。考虑<代码> df>代码>是您的数据。框架:

> aggregate(TargetID~Gene, data=df, paste0, collapse=";")
     Gene                         TargetID
1 BHLHE23                       cg26492446
2    CDX1                       cg26531174
3   HOXA9 cg26365299;cg26476852;cg26521404
4    VAX1                       cg26595643

另一个使用
plyr
的选项:

ddply(df,.(Gene),summarise,TargetID=paste(TargetID,collapse=";"))
  Gene                         TargetID
1 BHLHE23                       cg26492446
2    CDX1                       cg26531174
3   HOXA9 cg26365299;cg26476852;cg26521404
4    VAX1                       cg26595643
另一种可能性

ll <- lapply(unstack(df), paste0, collapse = ";")
data.frame(TargetID = names(ll), Gene = unlist(ll), row.names = NULL)

#   TargetID                             Gene
# 1  BHLHE23                       cg26492446
# 2     CDX1                       cg26531174
# 3    HOXA9 cg26365299;cg26476852;cg26521404
# 4     VAX1                       cg26595643

谢谢!!它工作得很好@user976991很高兴有用,如果答案有助于您解决问题,您可以接受。