R语言中purrr包中的map函数的使用
R语言中purrr包中的map函数的使用
参考文章:
语法
map()函数的第一个参数是list或者vector, 第二个参数是函数。
注意这里的第一个传参,数据框是列表的一种特殊形式,因此数据框也是可以的。
测试
map对列操作:
d变量的内容为:
> d
x y
1 10 1
2 9 2
3 8 3
4 7 4
5 6 5
6 5 6
7 4 7
8 3 8
9 2 9
10 1 10
测试代码:
d <- data.frame(x = 10:1, y = 1:10)
d.mean = map_df(d, mean)
d.mean = d %>%
map_df(mean)
print(d.mean)
输出:
# A tibble: 1 × 2
x y
<dbl> <dbl>
1 5.5 5.5
map的不同形式可返回不同的类型

对行进行操作使用 pmap
上面的map测试是对列进行操作的,那如何进行 行 操作呢?pmap!!!
pmap的测试:
df <- data.frame(x = 1:3, y = 4:6)
df.sum = pmap(df, function(x, y) return (x + y))
# df.sum = pmap(df, ~ ..1 + ..2)
返回值输出 -- 返回的是 list 类型:
> df.sum
[[1]]
[1] 5
[[2]]
[1] 7
[[3]]
[1] 9

浙公网安备 33010602011771号