Я ищу версии lapply()
и mclapply()
, которые обрабатывают только уникальные элементы списка аргументов X
. Что-то подобное уже существует?
EDIT: Другими словами, я хочу, чтобы lapply()
не беспокоила обработка дубликатов, но я хочу, чтобы length(lapply(X, ...))
равнялось length(X)
, а не length(unique(X))
(и соответствующие значения совпадали). Кроме того, я предполагаю, что каждый элемент X
довольно мал, поэтому получение уникальных значений не должно вызывать особых проблем.
Текущее поведение:
long_computation <- function(task){
cat(task, "\n")
# Sys.sleep(1000) #
return(task)
}
tasks <- rep(LETTERS[1:2], 2)
lapply(tasks, long_computation)
## A
## B
## A
## B
## [[1]]
## [1] "A"
##
## [[2]]
## [1] "B"
##
## [[3]]
## [1] "A"
##
## [[4]]
## [1] "B"
Желаемое поведение:
lapply (задачи, long_computation)
## A
## B
## [[1]]
## [1] "A"
##
## [[2]]
## [1] "B"
##
## [[3]]
## [1] "A"
##
## [[4]]
## [1] "B"
X = c(1, 2, 2, 3, 2, 2, 5, 7, 7, 7)
- person landau   schedule 31.10.2017length(lapply(X, ...))
должно равнятьсяlength(X)
. - person landau   schedule 31.10.2017