R/tables.R

Defines functions neuron_analisys neuron_quantidade

#Funcoes





pallete_conf <- function ()
{
  paletteVizin <- c(
    'yellowgreen',
    'olivedrab1',
    'olivedrab',
    'royalblue1',
    'mediumpurple1',
    'limegreen',
    'lightskyblue',
    'darkseagreen2',
    'orange1',
    'maroon',
    'magenta3',
    'salmon',
    'plum2',
    'gray',
    'white'
  )

  return (paletteVizin)
}


neuron_analisys <- function(id_neuron_per_classe, current_class)
{
  neurons_count <- as_tibble()
  i = 1
  for (i in 1:length(id_neuron_per_classe))
  {
    #amostras que foram alocadas no neuron i
    samples_neuron_i <-
      filter(current_class,
             current_class$neuron == id_neuron_per_classe[i])


    vb = samples_neuron_i$neuron

    if (length(vb) != 0)
    {
      #conta quantas samples tem de cada classe
      #( o total ? a quantidade de amostras alocadas neste neuronio)
      samples_neuron_contar_i <-
        sort(table(samples_neuron_i$label), decreasing = TRUE)

      #contar quantos amostras e a porcentagem a partir do valor total de amostras alocadas
      #neste neuron
      samples_neuron_contar_i.tb <- tibble::as_tibble(
        list(
          Id_Neuron = unique(samples_neuron_i$neuron),
          Neuron_Label = unique(samples_neuron_i$cluster),
          Label_samples = names(samples_neuron_contar_i),
          count = as.integer(samples_neuron_contar_i),
          percentage = as.numeric(prop.table(samples_neuron_contar_i) * 100),
          Qtd_Samples = sum(as.integer(samples_neuron_contar_i))
          #Id_Neuron_chr = as.character(samples_neuron_i$neuron)
        )
      )





      neuron_sup_zero <-
        dplyr::filter(samples_neuron_contar_i.tb,
                      samples_neuron_contar_i.tb$count > 0)

      neurons_count <- rbind(neurons_count, neuron_sup_zero)

    }
    else
    {
      print("Neuronio vazio!")
    }

  }


  neuro_info_by_qtd_analysis <- unique(arrange(neurons_count, desc(neurons_count$Qtd_Samples)))

  return (neuro_info_by_qtd_analysis)
}

neuron_quantidade <- function(id_neuron_per_classe, current_class)
{
  neurons_count <- as_tibble()
  i = 1
  for (i in 1:length(id_neuron_per_classe))
  {
    #amostras que foram alocadas no neuron i
    samples_neuron_i <-
      filter(current_class,
             current_class$neuron == id_neuron_per_classe[i])


    vb = samples_neuron_i$neuron

    if (length(vb) != 0)
    {
      #conta quantas samples tem de cada classe
      #( o total ? a quantidade de amostras alocadas neste neuronio)
      samples_neuron_contar_i <-
        sort(table(samples_neuron_i$cluster), decreasing = TRUE)

      #contar quantos amostras e a porcentagem a partir do valor total de amostras alocadas
      #neste neuron
      samples_neuron_contar_i.tb <- tibble::as_tibble(
        list(
          Id_Neuron = unique(samples_neuron_i$neuron),
          Neuron_Label = unique(samples_neuron_i$cluster),
          count = as.integer(samples_neuron_contar_i),
          percentage = as.numeric(prop.table(samples_neuron_contar_i) * 100),
          Qtd_Samples = sum(as.integer(samples_neuron_contar_i)),
          Id_Neuron_chr = as.character(samples_neuron_i$neuron)
        )
      )





      neuron_sup_zero <-
        dplyr::filter(samples_neuron_contar_i.tb,
                      samples_neuron_contar_i.tb$count > 0)

      neurons_count <- rbind(neurons_count, neuron_sup_zero)

    }
    else
    {
      print("Neuronio vazio!")
    }

  }


  neuro_info_by_qtd_analysis <- unique(arrange(neurons_count, desc(neurons_count$Qtd_Samples)))

  return (neuro_info_by_qtd_analysis)
}



#
# Max_Sample_by_neuron <- function(som.ts,)
# {
#   classify <- som.ts$unit.classif
#   counts <- rep(NA, nrow(som.ts$grid$pts))
#   huhn <- table(classify)
#   counts[as.integer(names(huhn))] <- huhn
#   count_neuron_max <- sort(huhn, decreasing = TRUE)
#   View(count_neuron_max)
#
#   count_matrix <- as.matrix(huhn)
#
#   table_neuron_count_label <-
#     data.frame(
#       neuron = rep(1:grid_size),
#       freq = counts,
#       label_neuron = class_vector
#     )
#
#   table_neuron_count_label_order <-
#     table_neuron_count_label[order(table_neuron_count_label$freq, decreasing = TRUE),]
#
#   return (table_neuron_count_label_order)
#
# }
lorenalves/SITSSA documentation built on May 20, 2019, 11:59 a.m.