我一直遵循Hadley Wickham的在线书籍“ R for Data Science”,并且一旦引入purrr:map函数,就会感到有些困惑。特别是,question 21.5.3 (4)要求为每种均值(-10、0、10、100)创建10个随机法线,但是我尝试使用map来应用函数失败。
我确实注意到(与前面的示例不同),均值在这里用作参数,而不是该函数所应用的对象。 solution使用(缩写)公式符号。哪怕explanation暗示map()内的代码都是等效的,究竟是什么让代码使用公式而不是函数呢?
给定的解决方案是:
tree = ET.parse(xmlfi)
root = tree.getroot()
for item in root.findall('book'):
print(item)
对我来说,等效功能如下所示:
library("tidyverse")
mu <- c(-10, 0, 10, 100)
map(mu, ~ rnorm(n = 10, mean = .))
还请注意,确实可以使用传递的向量作为函数的参数映射,例如:
library("tidyverse")
mu <- c(-10, 0, 10, 100)
map(mu, rnorm(n = 10, mean = mu))
答案 0 :(得分:0)
mu <- c(-10, 0, 10, 100)
#map(mu, rnorm(n = 10, mean = mu))
map(mu, partial(rnorm, n = 10))
map(mu, rnorm, n = 10)
map(mu, function(x, n = 10) rnorm(n = n, mean = x))
三种不同的方法。我个人比较喜欢2号。