修改R中数据框的内容

我想转换/修改数据帧的内容.基本上我有一个如下数据框:

        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

我想转换/修改成这样的另一个数据帧,我将“bin”列(第一行)的内容拆分为包含相同值的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) )
点赞