Потоковая передача использования Файлов изображений Wcf

Если число уникальных личностей должно быть> = 30 независимо от порядка, то я думаю, что это должно сработать:

library(magrittr)

compute_counts <- function(ID, gene_ends) {
  ids <- as.integer(ID)

  seen_ids <- numeric()
  count <- 0L
  adjust_count <- function(id, gene_end) {
    if (!(id %in% seen_ids)) {
      seen_ids <<- sort(c(seen_ids, id)) # sort strictly not needed
      count <<- count + 1L
    }

    if (gene_end && length(seen_ids) >= 30L) {
      count <- count # copy enclosed value locally
      seen_ids <<- numeric()
      count <<- 0L
    }

    count
  }

  unlist(Map(adjust_count, ids, gene_ends))
}

out <- df %>%
  mutate(num_unique = compute_counts(ID, lastObsFlagG & lastObsFlagGE),
         group = cumsum(c(-1L, diff(num_unique)) < 0L)) %T>%
  View

Эта версия (с учетом исходного поста) основана на ответе Дипеткова , он использует вспомогательную функцию с замыканием, которая обновляет вложенный adjustment, когда ген заканчивается и условия count выполнены.

library(magrittr)

compute_counts <- function(ID, gene_ends) {
  rle <- rle(as.integer(ID))
  ids <- unlist(Map(rep, 1L:length(rle$values), each = rle$lengths))

  adjustment <- 0L
  adjust_count <- function(id, gene_end) {
    count <- id - adjustment

    if (gene_end && count >= 30L) {
      adjustment <<- id
    }

    count
  }

  unlist(Map(adjust_count, ids, gene_ends))
}

out <- df %>%
  mutate(count = compute_counts(ID, lastObsFlagG & lastObsFlagGE),
         group = cumsum(count == 1L)) %T>%
  View
5
задан 26 March 2009 в 12:41
поделиться

1 ответ

MTOM является просто оптимизированным форматом кодирования сообщения. Это обозначает Механизм Оптимизации Передачи сообщений и передает как байты вместо угловых скобок (иначе XML). Вот основное введение в использование MTOM с WCF.

Эта небольшая выборка должна запустить Вас, если Вы хотите использовать потоковую передачу, которая является хорошей опцией, если Вы хотите передать большие файлы.

5
ответ дан 14 December 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: