Blame view

R/readingFuns.R 3.62 KB
1296c0a8   Karol Niewiadomski   Polish versions o...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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)
  
}