问题标签 [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.

0 投票
1 回答
27310 浏览

r - 错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN

尝试#r4ds 的多个模型章节并在最后遇到错误消息:

错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN 另外:警告消息:在 ns(as.numeric(Month), 4) 中:强制引入的 NA

作为我使用的创建错误的代码。

请参阅下面的 mod3 以查看该功能的外观

在此处输入图像描述

0 投票
1 回答
1396 浏览

r - 在函数中使用 Dplyr 和 Tidyr 将数据框列中的名字和姓氏大写

我希望创建一个函数,将上面简单示例数据框中的名字和姓氏大写,以便名称读取为“Susan Altop”、“Brent Spiner”......等。(请注意,我还删除了逗号。)

我可以使用以下代码单独或使用管道来完成此操作。但我希望创建一个函数,因为我必须多次执行此操作,但我不确定在使用 dplyr、tidyr 等时如何执行此操作。我也愿意接受更多使用列表的创造性建议和咕噜声,如果可能的话。

0 投票
3 回答
146 浏览

html - 从R中的列表中提取具有一些缺失值的href

我热衷于将一组 jekyll 主题的源和演示 url 提取到 data.frame 中

所以我想要一个包含 3 列的 data.frame(df),例如

我能够将所有hrefs提取为向量,但是,如您所见,从[13]中,某些站点没有演示,因此我遇到了困难

有没有一种简单的方法可以从数据创建 df?可能使用 purrr 库

0 投票
1 回答
76 浏览

r - 整齐的一步预测

我有大约 100 天的半小时观察时间序列,如下所示:

我想对这个时间序列进行滚动预测——根据前 n 天的数据估计模型,然后预测第 n+1 天。使用 for 循环很容易,但我想我会尝试以整洁的方式来做这件事。所以我想创建一个data_frame结束日期作为第一列的数据帧和一个包含从 df 到第二个结束日期的所有数据的 data_frame,然后我可以迭代使用purrr::map()和朋友。如何创建这个嵌套的 data_frame?

0 投票
1 回答
1118 浏览

r - 从列/列表中过滤尝试错误对象(dplyr,但也更通用)

我正在处理我在数据框中收集的一些数据,我想在其中将函数应用于列的所有元素。通常我用purrr::map()这个。但是,如果函数为列的元素之一返回错误,有时这将不起作用:

所以我可以用 包装我的函数ftry()并获得一列结果:

现在,我理想情况下想用它filter()来过滤掉有错误的行,但我似乎无法做到这一点。这些都不会产生只有第一行的数据框:

我正在考虑的一个肮脏的技巧是try_catch()改用它,并使其返回与f()错误情况相同类型的对象,例如-99999此处,然后将其过滤掉,但我正在寻找更清洁的解决方案。

0 投票
3 回答
636 浏览

r - Purrr-Fection:寻找利用 Purrr 的条件数据帧操作的优雅解决方案

的背景

我有一个问题,可能有多种解决方案,但我相信有一个尚未发现的优雅解决方案利用 purrr。

示例代码

我有一个如下的大数据框,为此我在下面提供了一个示例:

挑战

我想对lonlat列当前所在的所有位置进行地理标记NA。有很多方法可以解决这个问题,其中一种如下所示:

问题

虽然我可以使上述工作,甚至将新识别的坐标lonlat坐标重新放入原始数据框中,但整个方案感觉很脏。我相信有一种优雅的方法可以利用管道和 purrr 来遍历数据框,并根据 和 的缺失有条件地对位置进行地理lon标记lat

我遇到了许多兔子洞,包括在构建完整地址(以及和)purrr::pmap时尝试并行遍历多个列。尽管如此,我在构建任何可以称为优雅解决方案的东西方面都做得不够好。rowwise()by_row()

提供的任何见解将不胜感激。

0 投票
2 回答
350 浏览

r - 咕噜咕噜-关于安排日期列

我正在尝试使用 purrr 安排一个列表列。但是仅仅创建一个玩具示例就让我完全糊涂了:

我以为我可以做这样的事情:

但是,这不起作用。我在这里想念什么?

现在,我想按升序排列列表列中的日期并提取第一个和最后一个日期。我该怎么做呢?我尝试了不同的变化

但显然我在这里遗漏了一些东西......

我想要的输出是数据框中的新列表列,s其中列表列中未排列的日期s$e按升序排列在新的列表列s$new_arranged_dates中。

编辑 290817:

得到我想要的。但是,我不明白为什么

结果是

0 投票
1 回答
3217 浏览

r - 使用 dplyr 和 purrr 反复变异变量

我是 R 自学的,这是我的第一个 StackOverflow 问题。如果这是一个明显的问题,我深表歉意;请善待。

我的问题的简短版本
我编写了一个自定义函数来计算变量逐年变化的百分比。我想使用purrr'smap_at函数将我的自定义函数应用于变量名向量。我的自定义函数在应用于单个变量时有效,但在我使用链接时失败map_a

我的自定义函数

当我将此函数应用于 mtcars 数据集中的单个变量时,输出与预期的一样(尽管显然结果的含义是无意义的)。

尝试使用 Purrr 将函数应用于字符向量

我认为我在概念化 map_at 如何将参数传递给函数时遇到了麻烦。我可以在网上找到的所有示例片段都将 map_at 与类似的函数一起使用is.character,不需要额外的参数。这是我尝试使用purrr.

这给了我这个错误信息

粘贴错误(“d”,col,sep =“”):缺少参数“col”,没有默认值

我认为这是因为 map_at 作为 传递varsdf而不是传递参数col。为了解决这个问题,我尝试了以下方法:

这向我抛出了这个错误:

我玩弄了一堆不同的版本,包括df从函数中删除参数calculate_delta,但我没有运气。

其他潜在的解决方案

1) 这个版本使用sapply, 而不是purrr. 我已经尝试过以这种方式解决问题并且遇到了类似的问题。如果可能的话,我的目标是找出一种使用 purrr 的方法。根据我对 的理解purrr,这似乎是一个典型的用例。

2)我显然可以想到如何使用 for 循环来实现这一点,但是出于类似的原因,如果可能的话,我会尽量避免这种情况。

显然我在想这个错误。请帮忙!

编辑 1

为了澄清,我很好奇是否有一种重复转换变量的方法可以完成两件事。

1) 在原始变量中生成新变量,tbl_df而不替换替换正在变异的列(如使用dplyr's 时的情况mutate_at)。

2) 自动生成新的变量标签。

3) 如果可能,通过使用map_at.

这可能是不可能的,但我觉得应该有一种优雅的方式来完成我所描述的。

0 投票
1 回答
2248 浏览

r - tidyverse 中的双重嵌套

使用 Wickhams Introduction to purrr in R for data science 中的示例,我正在尝试创建一个双嵌套列表。

如何进一步嵌套国家,以便 nest_data 包含 by_continent 和新级别的嵌套 by_contry ,最终包含 tibble by_year?

此外,在为 gapminder 数据创建此数据结构之后 - 您将如何从本书章节中为每个国家运行回归模型示例

0 投票
5 回答
6187 浏览

r - 访问 R 中的嵌套列表

我为一些数据创建了一个双嵌套结构。如何访问第 2 级的数据(或就此而言第 n 级?)

我现在如何将中国的数据从 nest_2 中获取到数据框或 tibble 中?

我可以得到整个亚洲的数据,但我无法孤立中国。

我以为我可以做到

但我收到以下错误

所以我最大的错误是没有认识到产品是一个列表,可以通过在最后添加 [[1]] 来纠正。但是,我非常喜欢@Floo0 的解决方案。我冒昧地提供了一个函数来获取变量的名称,以防列的顺序与提供的不同。