问题标签 [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.
r - 查找一对列中的最大值/最小值
我的数据如下所示:
如何在A
和之间选择最大值/最小值B
?
期望的输出:
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
r - 命名 tidyverse 中融化的迭代映射列表
我经常在循环内部进行循环,然后最后将列表融合到数据框以进行绘图。
Q1:有没有另一种方法在地图内部做地图而不求助于function(y)
但是,由于我的列表通常未命名,因此我倾向于将列表的值添加为名称,如下所示:
生成的 df 具有名称 L2 和 L1,如果名称分别为 ca 和 ac,我更喜欢。
nam.cons
现在,如果我忘记重置变量,这会很快变得混乱。我可以在单独的函数中创建 1,2,3,4..n 版本,但是
Q2:是否有可能创建一个melt_map 函数,它既允许接受循环遍历n 个不同的列表,并且最终也将n 个不同的列表名称保留为列名?
r - dplyr tidyr 加宽和求和特定列
我正在努力使用 dplyr 和 tidyr 以这种形式获取 df:
并转换成这种所需的格式:
r - 如何在tidyverse中将列嵌套到自身中
为什么这会产生一个列表列'am':
但不是:
错误:与 STRSXP 不兼容
我意识到这是一个人为的例子,但它与我正在做的事情有关。mutate 的范围不超出其环境吗?
r - 带有列表列的小标题:如果可能,转换为数组
我有一个小标题如下:
我想将“ShouldBeCharacter”之类的列转换为所有元素都具有相同长度和类型的列,类似于“IsCharacter”,其余列保持不变。
到目前为止,我有以下功能可以解决这个问题,但对我来说它看起来很hacky。我想知道是否有更好的解决方案我没有考虑:
这是我得到的结果,注意 ShouldBeCharacter 的类型是如何改变的:
这as_tibble(lapply(as.list(... do.call(c,...)))
条线对我来说看起来太复杂了,但我找不到更简单的替代方案。
是否有任何简化使我的lists_to_atomic
功能更可靠?
更新
我没有考虑tidyr::unnest
在列表类型的列和长度为 1 的元素上使用,但是按照@taavi-p 的回答,我已经能够将函数简化为:
r - 在 dplyr 中模拟时间序列,而不是使用 for 循环
所以,虽然dplyrlag
和in 很棒,但我想模拟一个时间序列,比如人口增长。lead
我的旧学校代码看起来像:
产生
我觉得必须有一种dplyr
或tidyverse
方法来做到这一点(尽管我很喜欢我的 for 循环)。
但是,像
这本来是我的第一个猜测只是产生
我觉得我遗漏了一些明显的东西……那是什么?
注意 - 这是一个简单的例子 - 我的真实例子使用多个参数,其中许多是随时间变化的(我正在模拟不同 GCM 场景下的预测),因此,tidyverse 被证明是一个强大的工具,可以将我的模拟结合在一起.
r - tidyr::pop_quiz: 是否有更快/更透明的方式来重塑 anscombe 数据集?
我正在努力适应tidyr
. 有没有更好的方法来准备anscombe
用于绘图的数据集ggplot2
?具体来说,我不喜欢添加数据(obs_num
)。你会怎么做?