我想转换/修改数据框的内容。基本上我有一个如下数据框:
bins pval
1 2L:1:150 0.9224217
2 2L:151:300 0.9478824
3 2L:301:450 0.9671139
4 2L:451:600 0.9280847
5 2L:601:750 0.9698584
6 2L:751:900 0.9725379
我想转换/修改成另一个这样的数据框,在这里我将“ bins”列(第一行)的内容分成150个包含相同值的行。以此类推,第二行。
chr pos pval
1 2L 1 0.9224217
2 2L 2 0.9224217
3 2L 3 0.9224217
4 2L 4 0.9224217
5 2L 5 0.9224217
...
150 2L 150 0.9224217
151 2L 151 0.9478824
152 2L 152 0.9478824
153 2L 153 0.9478824
etc...
任何帮助表示赞赏,
本
最佳答案
我担心,这个快速答案可能太具体了,可能需要概括。假设第一个数据帧名为“ df1”:
data.frame(chr =“ 2L”,pos = 1:(150 * NROW(df1)),pval = rep(df1 $ pval,每个= 150))
参数回收应该使“ chr”足够长而没有rep函数。
编辑以回复评论。如果重复长度始终为150,则修复很容易:
data.frame(chr = rep(substr(df1$bins, 1,2), each=150),
pos = 1:(150*NROW(df1)),
pval = rep(df1$pval, each=150) )