问题标签 [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 投票
2 回答
2389 浏览

r - 将数据框行与一些因子列绑定

我想创建一个升级版本,dplyr::bind_rows以避免在Unequal factor levels: coercing to character我们尝试组合的 dfs 中存在因子列时出现警告(可能也有非因子列)。这是一个例子:

然后bind_rows_with_factor_columns(df1, df2)返回(没有警告):

这是我到目前为止所拥有的:

我想知道是否有人对如何合并该forcats软件包有任何想法,以潜在地避免对角色强制因素,或者是否有人总体上有任何建议来提高其性能同时保持相同的功能(我想坚持tidyverse语法)。谢谢!

0 投票
0 回答
134 浏览

r - 使用 R 包记录数据

使用roxygen2devtools创作我自己的包。

我有一些数据想包含在我的包裹中(存储在data/mydata.rda)。

我已在以下位置以 roxygen 格式记录了这些数据R/mydata.R

DESCRIPTION,我有LazyData: true

然而,当我运行时document(),我收到一条错误消息“mydata不是来自的导出对象'namespace: mypackage'

是什么赋予了?Hadley 的指南说永远不要使用export数据,并且在使用 roxygen2 时不应该直接编辑NAMESPACE,所以我有点茫然。

0 投票
3 回答
263 浏览

r - 如何在给定最大间隙参数的情况下用零替换连续的 NA(在 R 中)

我想NA用零替换每行的所有连续值,但前提是连续NAs 的数量小于 parmeter maxgap

这与函数非常相似zoo::na.locf

[1] 不适用 1 2 3 3 3 5 6 7 不适用 不适用 不适用

有两件事与我的目标不同:我也想替换领先的 NA,并且我想用 0 而不是最后一个非 NA 值替换 2 个连续的 NA。

我想得到

0 1 2 3 0 0 5 6 7 不适用 不适用 不适用

我如何在 R 中做到这一点。我可以使用 tidyverse 中的函数吗?

0 投票
1 回答
309 浏览

r - Dplyr Grouped Mutate 做替代品吗?

我有一系列具有唯一帐号的帐户,可以按序列号分组。我想使用每个序列开头的唯一帐号作为整个组的新参考列。我可以完成我的任务,Do但是我认为我的解决方案非常不优雅。使用此示例代码,有人可以演示一种更简洁的方式来实现输出吗?

输出:

0 投票
3 回答
96 浏览

r - 表达式评估,来自字符串的对象......仍然不清楚

我已经阅读了许多关于如何从字符串创建对象或使用assign()、或评估表达式的主题get(),但有些事情对我来说并不完全清楚。as.name()eval(substitute())

在下面的示例中,我有一个输入数据集(长格式),我想要输出 3 个矩阵。

输入数据框:

3 个变量的前缀是数据集名称(然后是“A”、“B”、“C”)。

v2作为键传播时,我想要 3 个矩阵,分别为dfA,dfBdfC值。矩阵名称也将具有扩展值的名称。行名将是v1值。

我想要的矩阵:

所以,手动,没问题(我只是在这里做第一个矩阵):

但是现在,我在输入中有很多数据框,所以我想自动完成。我将使用 DF 名称作为参数执行一个函数,但现在我想逐步向您展示不使用函数的方法。

在那里,我对扩展函数有一个错误。它在select()上面起作用,但在 spread() 中不起作用……我应该怎么做?

好吧,我设法做到这一点的唯一方法是:

然后,我想将 v1 值放入 row.names :

...错误(我不明白):

但我设法做到了:

最后使它成为一个矩阵:

所以,我可以让它工作,但它对我来说并不“漂亮”......

有太多assign()或太多eval(substitute())吗?这是这样做的好方法吗?

我想我几乎把手指放在了上面,但我仍然不明白我可能遇到的错误。

我错过了什么吗?有没有更好的方法呢?(更好,我的意思是清晰的编码,更好的效率,尊重R编码规则......)

非常感谢您的回答,很抱歉这篇长文!

0 投票
1 回答
287 浏览

r - 过滤 tidyverse 中的列表列

如何过滤mt_make以仅保留具有6 个气缸和超过150 hp的汽车,并在没有 listcols 的情况下将其嵌套到数据框中?

如何过滤mt_id以仅保留低于200 hp的Merc并在没有 listcols 的情况下不嵌套到数据框中?

0 投票
3 回答
90 浏览

r - 在整洁数据中的组之间进行一对多的差异

我有一个整洁的数据集,类似于Introducing tidyr blog post中的心率示例,但我在药物下还有一个额外的“安慰剂”组,我可以像这样构建

假设我从整洁的数据开始,我的目标是创建一个名为“diff.p”的新变量,它是每种药物的观察结果与安慰剂之间的差异。结果应该是这样的

看起来ave和/或mutate可能是解决方案的好方法(或者可能构建一个新的数据框?),但我需要一些关于最佳实践的额外指导。

0 投票
1 回答
191 浏览

r - 使用标准评估整理 Chisq.Test 输出的功能

这个问题是对 Jake Kaupp 提供的先前答案的扩展(下面的链接)。

用于可视化或过滤 P 值的 Tidy chisq.test 输出的函数

我想将下面的代码转换为使用标准评估的函数,以便我可以跨不同变量创建整洁的 chisq.test 结果。下面的代码在地图行中使用“happy$happy”来查找“happy”变量和其他分类变量之间的关联。该函数允许我将“快乐”更改为另一个变量,例如“健康”或“婚姻”。

我还想在函数中包含最后一个“unnest”行,以便它返回整洁的 chisq.test 结果。

0 投票
2 回答
132 浏览

r - 带有 tidytext 的简单部分标签,用于纯文本输入

我正在使用tidytext(和tidyverse)来分析一些文本数据(如在Tidy Text Mining with R中)。

我的输入文本文件myfile.txt,看起来像这样:

有60个左右的部分。

我想section_name用字符串"Category 1 Name""Category 2 Name"作为相应行的值生成一列。例如,我有

tidiedtext它为每行的相应部分编号添加一列。

是否可以在调用中添加一行以mutate()添加这样的列?还是我应该使用另一种方法?

0 投票
1 回答
102 浏览

r - 在函数中返回多个对象 - 一个整洁的 Chisq.Test Tibble 和 Ggplot

使用下面的代码,我希望该函数同时输出 tidy tibble 和 ggplot。我不确定如何在函数中使用“return”来返回不止一件事。

我尝试过这样的事情......

……还有这个……

我已经尝试了一些其他的变化,所以任何帮助将不胜感激。