问题标签 [tidyverse]

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 回答
4783 浏览

r - 查找一对列中的最大值/最小值

我的数据如下所示:

如何在A和之间选择最大值/最小值B

期望的输出:

0 投票
3 回答
604 浏览

r - 使用标准评估和 do_ 在没有 do.call 的参数网格上运行模拟

目标

我想使用 dplyr 在参数网格上运行模拟。具体来说,我想要一个可以在另一个程序中使用的函数

  • 获得一个 data.frame
  • 对于每一行,使用每一列作为参数计算一些模拟
  • 还传递了一些额外的数据(例如,初始条件)

这是我的方法

这行得通。例如,对于

我可以定义和运行,

问题

尽管这似乎可行,但我想知道是否有办法在没有do.call. (部分原因是do.call 的问题。)

我真的对grouped_out <- do_(rowwise(data), ~ do.call(fun, c(., fixed_parameters, ...)))用做同样事情但没有do.call. 编辑:以某种方式避免使用do.call上述链接中概述的性能损失的方法也可以。

注释和参考

  • 这个关于 do.call 和 dplyr中的标准评估的问题很有帮助,但我正在寻找一种方法来避免 do.call 如果可能
  • dplyr 的 nse vignette对写这篇文章很有帮助;让我觉得.values可以代替do.call
0 投票
1 回答
183 浏览

r - 命名 tidyverse 中融化的迭代映射列表

我经常在循环内部进行循环,然后最后将列表融合到数据框以进行绘图。

Q1:有没有另一种方法在地图内部做地图而不求助于function(y)

但是,由于我的列表通常未命名,因此我倾向于将列表的值添加为名称,如下所示:

生成的 df 具有名称 L2 和 L1,如果名称分别为 ca 和 ac,我更喜欢。

nam.cons现在,如果我忘记重置变量,这会很快变得混乱。我可以在单独的函数中创建 1,2,3,4..n 版本,但是

Q2:是否有可能创建一个melt_map 函数,它既允许接受循环遍历n 个不同的列表,并且最终也将n 个不同的列表名称保留为列名?

0 投票
2 回答
597 浏览

r - dplyr tidyr 加宽和求和特定列

我正在努力使用 dplyr 和 tidyr 以这种形式获取 df:

并转换成这种所需的格式:

0 投票
1 回答
988 浏览

r - 如何在tidyverse中将列嵌套到自身中

为什么这会产生一个列表列'am':

但不是:

错误:与 STRSXP 不兼容

我意识到这是一个人为的例子,但它与我正在做的事情有关。mutate 的范围不超出其环境吗?

0 投票
4 回答
8373 浏览

r - tidyverse - 将命名向量转换为 data.frame/tibble 的首选方法

使用tidyverse很多我经常面临将命名向量转换为data.frame/的挑战,tibble其中列是向量的名称。
这样做的首选/tidyversey 方式是什么?
编辑:这与:thisthis github-issue有关

所以我想要:

变成这样:

我可以通过例如:

用例示例:

这使

0 投票
1 回答
4500 浏览

r - 带有列表列的小标题:如果可能,转换为数组

我有一个小标题如下:

我想将“ShouldBeCharacter”之类的列转换为所有元素都具有相同长度和类型的列,类似于“IsCharacter”,其余列保持不变。

到目前为止,我有以下功能可以解决这个问题,但对我来说它看起来很hacky。我想知道是否有更好的解决方案我没有考虑:

这是我得到的结果,注意 ShouldBeCharacter 的类型是如何改变的:

as_tibble(lapply(as.list(... do.call(c,...)))条线对我来说看起来太复杂了,但我找不到更简单的替代方案。

是否有任何简化使我的lists_to_atomic功能更可靠?

更新

我没有考虑tidyr::unnest在列表类型的列和长度为 1 的元素上使用,但是按照@taavi-p 的回答,我已经能够将函数简化为:

0 投票
5 回答
1259 浏览

r - 在 dplyr 中模拟时间序列,而不是使用 for 循环

所以,虽然dplyrlag和in 很棒,但我想模拟一个时间序列,比如人口增长。lead我的旧学校代码看起来像:

产生

我觉得必须有一种dplyrtidyverse方法来做到这一点(尽管我很喜欢我的 for 循环)。

但是,像

这本来是我的第一个猜测只是产生

我觉得我遗漏了一些明显的东西……那是什么?

注意 - 这是一个简单的例子 - 我的真实例子使用多个参数,其中许多是随时间变化的(我正在模拟不同 GCM 场景下的预测),因此,tidyverse 被证明是一个强大的工具,可以将我的模拟结合在一起.

0 投票
1 回答
5314 浏览

r - geom_area 图的平滑数据

我的数据如下所示:

如图,它看起来像这样:

在此处输入图像描述

但是这个图表真的很刺耳。我怎样才能将锯齿状边缘平滑成这样的东西:

在此处输入图像描述

谢谢!

0 投票
1 回答
113 浏览

r - tidyr::pop_quiz: 是否有更快/更透明的方式来重塑 anscombe 数据集?

我正在努力适应tidyr. 有没有更好的方法来准备anscombe用于绘图的数据集ggplot2?具体来说,我不喜欢添加数据(obs_num)。你会怎么做?