Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
purrr::map中第一个波浪线的含义是什么_R_Purrr_Tilde - Fatal编程技术网

purrr::map中第一个波浪线的含义是什么

purrr::map中第一个波浪线的含义是什么,r,purrr,tilde,R,Purrr,Tilde,我正在看这个使用map。这是: mtcars %>% split(.$cyl) %>% # from base R map(~ lm(mpg ~ wt, data = .)) 映射(~lm…)中第一个波浪形符号的含义是什么?也就是说,R如何解释第一个波浪形符号?(我知道第二个波浪形符号表示一个函数…)。另一种提问方式是,为什么下面的方法不起作用 mtcars %>% split(.$cyl) %>% # from base R map(lm(mpg ~

我正在看这个使用
map
。这是:

mtcars %>%
  split(.$cyl) %>% # from base R
  map(~ lm(mpg ~ wt, data = .))
映射(~lm…
)中第一个波浪形符号的含义是什么?也就是说,R如何解释第一个波浪形符号?(我知道第二个波浪形符号表示一个函数…)。另一种提问方式是,为什么下面的方法不起作用

mtcars %>%
  split(.$cyl) %>% # from base R
  map(lm(mpg ~ wt, data = .))
根据,
map
需要一个函数,但它也接受公式、字符向量、数字向量或列表,后者被转换为函数

R中的
~
运算符创建公式。因此
~lm(mpg~wt,data=)
是一个公式。公式在R中很有用,因为它们阻止立即计算符号。例如,您可以定义

x <- ~f(a+b)

您可以看到
如何成为传递给该函数的第一个参数。

您是否阅读了~?请尝试
帮助(“~”
)。它描述了
通常用于什么。也就是说,指示公式。
映射
是否只接受公式?为什么
lm有意义(mpg~wt,…
不起作用。谢谢!
myfun <- as_mapper(~lm(mpg ~ wt, data = .))
myfun(mtcars)
# Call:
# lm(formula = mpg ~ wt, data = .)
# 
# Coefficients:
# (Intercept)           wt  
#      37.285       -5.344  

myfun
# <lambda>
# function (..., .x = ..1, .y = ..2, . = ..1) 
# lm(mpg ~ wt, data = .)
# attr(,"class")
# [1] "rlang_lambda_function"