1

引数リストの一意の要素のみを処理する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"

意図した使用例はこちらで確認できます。

4

2 に答える 2