我希望用
我有一个像这样的 data.frame:
purrr
函数替换 apply()
及其衍生函数。我有一个像这样的 data.frame:
> df
V1 V2 V3
1 NA 2 3
2 2 NA 3
3 3 3 NA
我希望对每行应用两个函数: min(x, na.rm = T)
和 which.min(x)
,并将结果作为数据框返回。
如果我知道有多少列,我可以这样做:
pmap_dfr(df, function(V1, V2, V3) {data.frame(min = pmin(V1, V2, V3, na.rm = T),
where = which.min(c(V1, V2, V3)))})
min where
1 2 2
2 2 1
3 3 1
我该如何让 pmap()
或者其他的 purrr
函数像 apply()
一样把整行作为参数传递进去?
func <- function(x) {data.frame(min = min(x, na.rm = T), where = which.min(x))}
> Reduce(rbind, apply(df,1, func))
min where
V2 2 2
V1 2 1
V11 3 1
我可能只是错过了某些功能或技巧。感谢您的帮助。
transmute
仅保留最后几行。 - Jet