アップデート
OPにはブロックサイズが239要素であると記載されていますが、ブロックサイズが240であることが示されている行の例から明らかです
> length(289:528)
[1] 240
以下の例ではブロック長を 239 のままにしておきますが、実際に 240 である場合は調整してください。
質問からは明らかではありませんが、このようなものがあると仮定します
df <- data.frame(A = runif(8208))
8208 行のデータ フレーム。
A最初に、保持する必要があるの要素のインデックスを計算します。これは経由で行われます
want <- sapply(seq(289, nrow(df)-239, by = 336),
function(x) x + (seq_len(239) - 1))
A次に、R が列ごとに行列を埋め、必要な要素を 239 行の行列に変換するという事実を使用できます。
mat <- matrix(df$A[want], nrow = 239)
これは機能します
> all.equal(mat[,1], df$A[289:527])
[1] TRUE
ただし、ここでは 239 のブロック長を使用していることに注意してください ( 289:527) 240 のブロック サイズであるため、OP が引用するインデックスではありません (上記の更新を参照)。
これをデータフレームにしたい場合は、追加するだけです
df2 <- as.data.frame(mat)