readingFuns.R 3.62 KB
source("StrukturaPlikow.R")
TF <- read_structure()

read_nk <- function(.version = 6, nk, .type = "odl") {
  # Weźmy konkretną częstotliwość.
  TF <- TF %>% filter(version == .version)
  # TF <- TF %>% filter(fc == 20000)
  TF <- TF %>% filter(NK == nk)
  V_th <- 3
  
  TD <- tibble()
  for(i in seq_len(nrow(TF))) {
    obj <- TF[i, ]
    filename <- obj$plik
    V <- read_rds(filename)
    T2 <- map_dfr(V, function(syg) {
      syg <- unlist(syg)
      rley <- rle(abs(syg) >= V_th)
      les <- rley$lengths
      les <- les[-c(1, length(les))]
      vals <- rley$values
      vals <- vals[-c(1, length(vals))]
      
      if( .type == "zak" ) {
        return(
          with(obj, 
               tibble(
                 NK = NK,
                 pc = pc, fc = fc,
                 fd = fd, dt = dt,
                 A = A, f = f, lambda = lambda, 
                 type = "zak", value = les[vals], N = N
               ))
        )
      } else if( .type == "odl" ) {
        return(
          with(obj, 
          tibble(
            NK = NK,
            pc = pc, fc = fc,
            fd = fd, dt = dt,
            A = A, f = f, lambda = lambda, 
            type = "odl", value = les[!vals], N = N 
          ))
        )
      } else if( .type == "both" ) {
        return(
          with(obj, bind_rows(
            tibble(
              NK = NK,
              pc = pc, fc = fc,
              fd = fd, dt = dt,
              A = A, f = f, lambda = lambda, 
              type = "zak", value = les[vals], N = N
            ),
            tibble(
              NK = NK,
              pc = pc, fc = fc,
              fd = fd, dt = dt,
              A = A, f = f, lambda = lambda, 
              type = "odl", value = les[!vals], N = N 
            )
          ))
        )
      } 
    })
    
    TD <- bind_rows(TD, T2)
  }
  return(TD)
}


read_freq <- function(.version = 6, freq, .type = "odl") {
  
  # Weźmy konkretną częstotliwość.
  TF <- TF %>% filter(version == .version)
  TF <- TF %>% filter(fc == freq)
  # TF <- TF %>% filter(NK == nk)
  V_th <- 3
  
  TD <- tibble()
  for(i in seq_len(nrow(TF))) {
    obj <- TF[i, ]
    filename <- obj$plik
    V <- read_rds(filename)
    T2 <- map_dfr(V, function(syg) {
      syg <- unlist(syg)
      rley <- rle(abs(syg) >= V_th)
      les <- rley$lengths
      les <- les[-c(1, length(les))]
      vals <- rley$values
      vals <- vals[-c(1, length(vals))]
      
      if( .type == "zak" ) {
        return(
          with(obj, 
               tibble(
                 NK = NK,
                 pc = pc, fc = fc,
                 fd = fd, dt = dt,
                 A = A, f = f, lambda = lambda, 
                 type = "zak", value = les[vals], N = N
               ))
        )
      } else if( .type == "odl" ) {
        return(
          with(obj, 
               tibble(
                 NK = NK,
                 pc = pc, fc = fc,
                 fd = fd, dt = dt,
                 A = A, f = f, lambda = lambda, 
                 type = "odl", value = les[!vals], N = N 
               ))
        )
      } else if( .type == "both" ) {
        return(
          with(obj, bind_rows(
            tibble(
              NK = NK,
              pc = pc, fc = fc,
              fd = fd, dt = dt,
              A = A, f = f, lambda = lambda, 
              type = "zak", value = les[vals], N = N
            ),
            tibble(
              NK = NK,
              pc = pc, fc = fc,
              fd = fd, dt = dt,
              A = A, f = f, lambda = lambda, 
              type = "odl", value = les[!vals], N = N 
            )
          ))
        )
      } 
    })
    
    TD <- bind_rows(TD, T2)
  }
  return(TD)
  
}