Быстрый ответ, который, боюсь, может быть слишком конкретным и, возможно, нуждается в обобщении.Предположим, что первый кадр данных называется «df1»:
data.frame (chr = "2L", pos = 1: (150 * NROW (df1)), pval = rep (df1 $ pval, каждый = 150))
Переработка аргументов должна сделать "chr" достаточно длинным без функции повторения.
Редактировать в ответ на комментарий.Если длина повторения всегда равна 150, то исправить легко:
data.frame(chr = rep(substr(df1$bins, 1,2), each=150),
pos = 1:(150*NROW(df1)),
pval = rep(df1$pval, each=150) )