问题标签 [purrr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - dplyr::mutate:临时昂贵变量作为其他几个操作的输入,按行
用真实数据显示我的问题有点棘手,但我希望以下解释:
在上面的例子中,当然rowwise
不需要。
现在让我们假设要进行的计算c
既费时 c
又是一个大对象并且没有向量化。因此,您不希望必须执行两次,并且希望在每次行计算发生后将其从内存中清除。
有没有聪明的方法来做到这一点?也许与purrr::map
?
r - 如何让 purrr map 函数运行得更快?
我正在使用库中的函数来应用函数(来自map
库),如下所示: purrr
segmented
segmented
该对象by_veh28_101
包含 2457 tibbles
。最后一步,map
使用函数,需要 16 分钟才能完成。有什么办法可以让这更快吗?
r - 使用 purrr::map 在数据框中的列上迭代线性模型
我正在尝试做一个练习,以更加熟悉如何在 purrr 中使用地图功能。我正在创建一些随机数据(10 个数据点的 10 列),然后我想使用 map 对数据框中的结果列执行一系列回归(即 lm(y ~ x, data = ))。
如果我只是重复使用第一列作为“y”,我想执行 10 次回归,每列从 1 到 10 作为“x”。显然结果并不重要——这只是方法。我想得到一个包含 10 个线性模型对象的列表。
在这里,我卡住了:
任何提示将不胜感激。
谢谢。
r - 从 map() 调用加入 data.frames 列表
是否有一种“tidyverse”方式来加入 data.frames 列表(a la full_join()
,但对于 >2 data.frames)?作为调用的结果,我有一个 data.frames 列表map()
。我以前做过Reduce()
这样的事情,但想将它们合并为管道的一部分——只是还没有找到一种优雅的方式来做到这一点。玩具示例:
r - 在嵌套数据框中使用`map()`
我在使用该map()
函数和该nest()
函数时遇到了一些问题。
我有一些数据设置如下:
然后我根据该counter
字段嵌套这些数据。如:
我想要做的是映射每个嵌套数据帧并在我的嵌套数据帧中构造一个 xts 矩阵。我尝试了以下代码的许多变体:
我受到欢迎Error in data$date_time : object of type 'closure' is not subsettable
。
任何想法都会很棒!
r - 使用每个预测变量列的拟合模型将结果单独存储在数据框中
我有一个数据框,其中包含一列响应变量和几列预测变量。我想分别使用每个预测变量来拟合响应变量的模型,最后创建一个包含模型系数的数据框。以前,我会这样做:
dplyr
但是,现在我已经开始使用,broom
等,这似乎有点麻烦。使用purrr::map
我可以或多或少地重新创建这个模型列表:
但是,我不确定如何将此列表转换为与broom::tidy
. 如果我使用分组行而不是列,我将存储模型拟合并broom::tidy
用于执行以下操作:
当然这不是我正在做的,但我希望在使用数据列时有类似的过程。有没有办法,也许可以使用purrr::nest
或类似的东西来创建所需的输出?
r - 使用 Tidyverse 将列表转换为向量
这是“R for Data Science”中的一个简单示例:
现在我可以像这样创建一个列表列:
现在数据看起来像这样:
这是一个问题:如果我只有 x2,我怎样才能从中恢复 x1?
unnest()
不起作用,因为它改变了数据的形状。
r - 在 dplyr::mutate 中使用 purrr::map 将不同的启动参数应用于模型
试图在 ggplot2 邮件列表中回答某人的问题,但我无法弄清楚: https ://groups.google.com/forum/#!topic/ggplot2/YgCqQX8JbPM
OP 希望将不同的起始参数应用于 nls 模型的数据子集。我的想法是他应该阅读 dplyr 和 purrr,但在尝试了几个小时后,我遇到了障碍。不确定这是一个错误还是我缺乏 purrr 的经验。
感觉与这个错误有关,但这已经修复了一段时间...... https://github.com/hadley/dplyr/issues/1447
据我所知,它正在寻找嵌套 tibble 范围内的变量,但我希望它在 mutate 调用的范围内。我不知道有没有办法解决这个问题。
r - 小标题中的列表列:我可以将一个列表列与另一个列表列链接吗?
这是我的第一篇文章,所以如果我听起来很傻或者我正在寻找的答案已经存在,请原谅我。
我的主要问题是:我创建了一个包含 4 列(一个字符列、两个数据列和一个包含字符列每个级别的距离矩阵的列)的小标题,我正在尝试创建一个使用第四列的距离矩阵作为因变量,第二列的一些自变量。问题是 R 一直警告我它找不到因变量。
我使用的包如下:
包含我的 IV 的小标题如下所示:
然后我嵌套它:
这是它的外观:
随后,我创建了另一个包含原始存在/不存在数据的小标题:
然后我也嵌套了那个小标题:
它看起来像:
我重命名数据列,以便将它与包含 IV 的小标题连接起来:
作为下一步,我构造了一个函数来计算矩阵:
rr 小标题现在看起来像这样:
然后,我加入了两个 tibbles:
小标题看起来像这样:
我要应用的功能如下所示:
当我尝试使用以下代码计算它时:
my_tibble <- my_tibble %>% mutate(mrm = map(IVs,mrm_model))
,
我收到此错误消息:
Error in mutate_impl(.data, dots) : object 'Dist.matrix' not found
.
你知道为什么这会不断弹出吗?
当我尝试使用 $ 符号“更正”函数时:
mrm_model <- function(df){ecodist::MRM(my_tibble$Dist.matrix~dist(Area),data = (df))}
,
我收到以下警告:
Error in mutate_impl(.data, dots) :
invalid type (list) for variable 'my_tibble$Dist.matrix'
.
在这种类型的数据操作方面,我绝对是新手,所以显然我已经过头了,我将非常感谢我能得到的所有帮助。
r - 使用 purrr::map2 迭代 dplyr 代码
我对 R 比较陌生,所以如果这个问题太基本,我很抱歉。
我的交易显示了不同产品的销售数量和收入。因为有三种产品,所以有多种2^3 = 8
组合可以在“篮子”中销售这些产品。每个篮子都可以在三个给定年份(2016 年、2017 年、2018 年)和任何区域(东部和西部)中的任何一年出售。[我有两个区域的 3 年交易:东区和西区。]
我的目标是分析在给定区域的给定年份,这些产品的每种组合发生了多少收入、销售了多少数量以及发生了多少交易。
purrr::map
我能够通过基于区域拆分数据来执行上述操作(使用)。我创建了一个包含两个数据框的列表,这些数据框包含按“年份”分组的上述每种组合的数据。这很好用。但是,在我看来,代码有点笨拙。有很多重复的说法。我希望能够创建一个 2X3 列表(即 2 个区域和 3 年)
这是我使用区域分割的代码。
第一次尝试
如您所见,上面的代码非常笨拙。由于对 R 的了解有限,我研究了https://blog.rstudio.org/2016/01/06/purrr-0-2-0/并阅读了purrr::map2()
手册,但我找不到太多示例。在阅读如何通过并行将向量列表添加到 data.frame 对象列表作为新插槽中的解决方案之后?,我假设我可以使用 X = zone 和 Y= Fiscal Year 来做我上面所做的事情。
这是我尝试过的: 第二次尝试
但是这段代码不起作用。我收到一条错误消息:
Error: .x (2) and .y (3) are different lengths
问题 1:我可以map2
用来做我想做的事吗?如果没有,还有其他更好的方法吗?
问题2:以防万一,我们可以使用map2
,如何使用一个命令生成两个Excel文件?正如你在上面看到的,我上面有两个函数调用。我只想拥有一个。
问题 3:有没有办法在一个语句中进行求和和计数,而不是下面的两个语句?我正在寻找更简洁的方法来进行求和和计数。
有人可以帮帮我吗?
这是我的数据:
输出格式:这是生成输出的代码。我希望看到EastList.2016
和EastList.2017
作为一个 Excel 文件中的两张表,以及WestList.2016
,WestList.2017
和WestList.2018
作为一个 Excel 文件中的 3 张表。