我想用 * 不同的 * 临时文件改变一个列。如果tempfile()
没有矢量化,我该怎么做呢?下面的代码只是返回相同的tempfile。
library(dplyr)
df <- tibble(foo = 1:5)
df |>
mutate(my_tmp_file = tempfile())
#> # A tibble: 5 × 2
#> foo my_tmp_file
#> <int> <chr>
#> 1 1 /var/folders/6g/tmb5z48550s3dl4dp56dvy780000gp/T//RtmpHag8uI/file5cb067…
#> 2 2 /var/folders/6g/tmb5z48550s3dl4dp56dvy780000gp/T//RtmpHag8uI/file5cb067…
#> 3 3 /var/folders/6g/tmb5z48550s3dl4dp56dvy780000gp/T//RtmpHag8uI/file5cb067…
#> 4 4 /var/folders/6g/tmb5z48550s3dl4dp56dvy780000gp/T//RtmpHag8uI/file5cb067…
#> 5 5 /var/folders/6g/tmb5z48550s3dl4dp56dvy780000gp/T//RtmpHag8uI/file5cb067…
我想我可以用purrr::map()
进行变异,提供tempfile()
作为函数,但是map()
还需要.x
,而我没有/需要,所以我得到了argument ".x" is missing, with no default
的错误。
我还能做什么?
1条答案
按热度按时间sf6xfgos1#
可以使用
replicate
:或者,如果
foo
是保证唯一的,则可以使用foo
作为名称的一部分,如果你真的想/需要使用
purrr
,那么tempfile()
仍然可以使用,我们将忽略.x
: