问题标签 [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 回答
1246 浏览

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

对于数据...

对于代码...

我正在尝试创建整洁的 chisq.test 输出,以便我可以轻松过滤或可视化 p 值。

我正在使用“快乐”数据集(包含在上面列出的任何一个包中)

对于这个例子,如果我想在所有其他变量上设置“快乐”变量,我会隔离分类变量(对于这个例子,我不会根据年龄、年份等创建因子分组),然后运行一个简单的函数。

但是,我想从“broom”包中得到一个整洁的输出,这样我就可以创建一个 p 值的数据框来过滤或可视化。

我已经尝试了类似于下面代码的各种组合,希望进一步管道进入“整洁”扫帚功能或进入“过滤器”,在那里我可以缩小重要的 p 值,或者管道进入 p-的 ggplot 条形图值或 chi 统计。

...但输出似乎不正确。如果我针对变量单独运行 chisq.test,答案会有所不同。

那么,有没有一种方法可以轻松地比较分类变量,在这种情况下与所有其他列“快乐”,并返回一个整洁的数据框以进行进一步的操作和分析?

使用 dplyr::mutate、tidyr::nest 和 purrr::map 的 Purrr 解决方案会很棒,但我感觉嵌套列表列方法不适用于 chisq.test。

0 投票
2 回答
68 浏览

r - Q-按条件传播数据集(两个时间段)并填充一个新列(两个时间段之间的时间)

我有一个如下所示的数据集:

我想根据年数展开数据集,并重塑数据集,所以最后我可以有这样的东西:

我不知道如何继续获得代码中刚刚描述的预期结果。在此先感谢您的帮助

0 投票
1 回答
1194 浏览

r - 在使用 map_at 的变量列表上使用 fct_relevel

我有一堆具有相同级别的因子变量,我希望它们都使用包中fct_relevel的类似方式重新排序。forcats许多变量名称以相同的字符开头(“Q11A”到“Q11X”、“Q12A”到“Q12X”、“Q13A”到“Q13X”等)。我想使用starts_with函数 fromdplyr来缩短任务。以下错误没有给我错误,但它也没有做任何事情。有什么我做错了吗?

0 投票
3 回答
10087 浏览

r - R purrr:::pmap:如何按名称引用输入参数?

我正在使用purrr:::pmap带有三个输入的R。目前尚不清楚如何在公式调用中明确引用这些输入?使用 map2 时,公式调用为~ .x + .y. 但是使用的时候怎么办pmap呢?

从http://r4ds.had.co.nz/lists.html复制 Hadley 的示例

如果我想在调用时显式引用输入参数rnorm,我可以使用:

但是说我想用公式方法来做到这一点。我怎么做?例如,这不起作用:

谢谢!!

0 投票
2 回答
242 浏览

r - In dplyr mutate, how to reference multiple similarly named variables

I have a data.frame similar to this one:

And I want to take the difference of the similarly-named variables. Since there's only two here, that's easy to do with something like:

But in the real data I have about a hundred of these. What is the easier way of doing this rather than typing them all out?

PS - If it makes it easier, I have a list with all the variables (e.g. mylist <- list("var_1", "var_two")

0 投票
1 回答
204 浏览

r - 带有data.frame而不是tibble的readr(或tidyverse的其他包)

是否可以指定read_csvreadr包中返回 data.frame 而不是 tibble?我可能忽略了它,但我在包装手册中找不到这样的选项。

我的问题是我的一些来自 pre-tibble 时代的代码不再运行,因为列的命名已关闭。我可以使用 将小标题转换为数据框as.data.frame,但是与我最初创建数据框时(输出注释掉)相比,列的命名仍然会有所不同:

我可以(并且将在未来的项目中)使用这个checkpoint包来使用我最初运行这些项目时的包版本。但是,现在我正在寻找一个选项,我可以在其中指定是获得小标题还是数据框。

这个问题也适用于 tidyverse 中的其他包(例如,dplyr)。

0 投票
2 回答
2071 浏览

r - 使用 dplyr、tidyr、purrr 分组多列聚集

我正在尝试收集分布在多个列中的两个不同变量的数据,这些变量由其他两个变量分组。这就是问题所在。我有几个基因,几个样本。每个样本具有三种不同的可能基因型,每种都有相关的频率。我想整理一下以获得基因、样本、基因型、频率的单列。

我对此有一个 hackjob 解决方案,其中涉及创建列表列,传播这些列,然后使用 purrr::map 函数提取列。它很丑陋,不是真正可扩展的,并且频率在转换回数字之前被转换为字符,并不理想。

有没有更好的方法来解决这个问题?



0 投票
1 回答
2125 浏览

r - 修复 Tibble 中的日期和时间格式

我有一些 CSV 文件,导入时有两列,日期和时间。然而,他们都像这样糊涂了:

即他们都有日期和时间,而他们应该只有一个或另一个。我怎样才能摆脱那里的额外噪音?

0 投票
1 回答
640 浏览

r - 使用标准评估为带有 Ggmosaic 的马赛克图创建函数

图书馆(ggmosaic) 图书馆(tidyverse)

我仍在尝试通过标准评估来了解编程的一些细微差别。对于这个问题,我正在尝试使用来自 ggmosaic 的“快乐”数据集创建一个函数,以创建变量“健康”和“快乐”的基本马赛克图。

下面是我想使用标准评估创建函数的代码。我希望能够从快乐数据集中输入任意两个分类变量,并创建一个基本的马赛克图,如代码中所述。

但是,我不能完全正确地编写代码。我以前问过类似的问题,但我仍然很难理解何时何地使用 .dots 参数以及如何在标准评估中指定输入。下面是我一直在玩的代码的错误版本之一......

任何能让它工作的指针将不胜感激,尤其是关于如何用 SE 正确编码的任何建议。

0 投票
2 回答
638 浏览

r - 在 R 包中定义自定义 dplyr 方法

我有一个包含自定义方法的包summary()print()用于具有特定类的对象。这个包还使用了出色的dplyr包进行数据操作——我希望我的用户编写使用我的包和 dplyr 的脚本。

其他人在这里这里已经注意到的一个障碍是 dplyr 动词不保留自定义类 - 这意味着ungroup命令可以剥离我的 data.frames 他们的自定义类,从而搞砸了方法调度summary等。

Hadley 说“正确地执行此操作取决于您 - 您需要为每个 dplyr 方法为您的类定义一个方法,以正确恢复所有类和属性”,我正在尝试接受建议- 但我无法弄清楚如何正确包装 dplyr 动词。

这是一个简单的玩具示例。假设我已经定义了一个cars类,并且我对它有一个自定义summary

这行得通

这就是问题所在

summary调用small_cars只是给了我通用摘要,而不是我的自定义方法,因为在 dplyr 过滤后small_cars不再保留该类。cars

我试过的

filter首先,我尝试围绕( )编写自定义方法filter.cars。那没有用,因为实际上是一个允许非标准评估filter的包装器。filter_

所以我filter_为对象编写了一个自定义方法cars,试图实现@jwdink 的建议

这不起作用 - 我得到一个无限递归错误:

我要做的就是获取传入 df 上的类,移交给 dplyr,然后返回具有与 dplyr 调用之前相同的类名的对象。 我如何更改我的filter_包装器来实现这一点? 谢谢!