【发布时间】:2016-03-25 17:10:02
【问题描述】:
我对 R 比较陌生,我很幸运能在这里找到答案,但是在尝试了 2 天之后,这个问题让我很难过。
我有一个列名如下的数据框:
目标ID sample1.beta sample1.avg sample1.error sample1.pval sample2.beta sample2.avg sample2.error sample2.pval
这会重复数千个样本。我需要为每条数据创建多个单独的数据框:一个用于 beta,一个用于 avg,一个用于错误,一个用于 pval。我还需要在所有数据框中保留带有 TargetID 的第一列。生成的数据框将具有如下列名称:
目标ID sample1.beta sample2.beta sample3.beta
目标ID sample1.pval sample2.pval sample3.pval
等等
我找到了子集数据框的答案,但它们似乎不适用于选择包含特定字符串的所有列(并保留第一列)。
在我使用 awk 导入 R 之前,我也一直在探索是否最好使用 txt 文件来完成。
【问题讨论】:
-
如果没有可重复的示例,则不清楚。但你可以试试
library(data.table); melt(setDT(df1), measure=patterns("beta$", "avg$", "error$", "pval$"))