在下面的示例中,我试图确定每个
我只是想知道是否可以使用
vals_int
最接近哪个value
,通过id
。我可以使用类似下面的方法使用sapply()
解决这个问题,但我想知道是否可以使用dplyr
中的其他函数来完成sapply()
部分。我只是想知道是否可以使用
dplyr
包中的一些函数来复制sapply
方法和输出。我曾经认为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指出这一点。 - Steve Renopurrr
包。虽然map
函数更像lapply
,但map_dbl
和map_chr
函数则像sapply
一样返回向量而不是列表。purrr
包的设计考虑到了一致性,因此在不同函数之间切换时更加方便,因为它们都按照相同的顺序接受相同的参数,并且在返回值方面具有较少的变异性(尤其是与sapply
相比)。 - tbradley