아래 예에서는 vals_int
에 가장 가까운 value
이 어느 것인지 확인하려고 시도하고 있습니다. id
입니다. 나는이 문제를 sapply()
을 사용하여 다음과 비슷한 문제를 해결할 수 있지만 sapply()
부분이 dplyr
에 다른 함수로 수행 될 수 있는지 궁금해합니다.dplyr을 통한 sapply 결과
메서드와 출력을 dplyr
패키지의 일부 기능을 사용하여 재생할 수 있다면 정말로 관심이 있습니다. 나는 do()
가 작동할지 모르지만 어떻게 결정할 지 고심하고 있습니다.
library(tidyverse)
df <- data_frame(
id = rep(1:10, 10) %>%
sort,
visit = rep(1:10, 10),
value = rnorm(100)
)
vals_int <- c(1, 2, 3)
tmp <- sapply(vals_int,
function(val_i) abs(df$value - val_i))
덕분에, 나뿐만 아니라이 솔루션을 주셔서 감사합니다. 실제로 나는 이전에 본 함수 (map)를 생각하려고했지만, 그것이 무엇인지 불렀던 것을 기억하지 못했습니다. @tbradley를 지적 해 주셔서 감사합니다. –
예,''purr' 패키지를 강력히 추천합니다. 'map'은'lapply'처럼 동작하지만'map_dbl'과'map_chr' 함수는리스트가 아닌 벡터를 반환한다는 점에서'sapply'와 같은 역할을합니다. 'purrr' 패키지는 일관성을 염두에두고 설계 되었기 때문에 서로 다른 함수 사이를 전환하는 번거 로움이 적습니다. 모두 같은 순서로 동일한 인수를 취하고 리턴 값의 변동성이 적습니다 (특히'sapply'에 비해) – tbradley