首页 > 解决方案 > 在一定频率后循环填充矩阵

问题描述

我的目标是以 102 (510/5) 的频率将这些值转换为 64 天。每天有 510 个值,我想每第五个值(1,6,11,... 以制作 102*64 的最终矩阵)选取一次。使用以下代码:

    data <- read.csv(file="voljump.csv", header=FALSE, sep=",")#32640
    mat <- data.matrix(data)
            fin_data <- t(mat)
             days <- nrow(data)#32640
    freq <- 510
    data_5 <- matrix(0, freq, days) 
    for(j in 1:days) {for (i in 1:freq) 
      {data_5[i,j] <- fin_data[(i-1)*4+1 ,j]}}     

我收到一个错误:

“fin_data [(i - 1) * 5 + 1, j] 中的错误:下标越界”

标签: rfor-loopmatrix

解决方案


我想下面的代码可能会达到你的目标

data_5 <- fin_data[seq(1,510,by=5),]

推荐阅读