问题标签 [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 - R - 随机选择变量并逐行操作它们
我正在尝试遍历数据框的每一行,随机选择一半变量,并将该特定行的变量设置为NA
.
例如,对于mydf
下面的数据集,我希望我的第一行随机选择 3 个变量(例如QB
、QE
、QF
)并将它们的分数设置为NA
,然后再次为第二行(例如QA
、QD
、QE
)等等:
我的尝试,但它似乎没有做任何事情:
r - 解析字符串向量中的德语数字
有一个字符串如下:
我想将其解析为
我试过:
我想出的唯一方法:
r - dplyr::group_by() 具有多个变量但不是交集
当您使用group_by
多个变量时,dplyr
有助于找到这些组的交集。
例如,
产量
我的问题是,有没有办法提供多个变量,但要稍微总结一下?如果您手动执行此操作,我希望输出与您得到的输出一样,逐个变量。
上面的代码产生
理想情况下,语法类似于
中是否存在类似的东西tidyverse
?
(ps,我知道上group
表中的变量并不整洁,因为它包含两个变量合二为一,但我保证为了我的目的它是整洁的,好吗?:))
r - 无法将变量名称动态添加到 R 中的数据框
我希望基于另一个数据框将一堆变量添加到现有数据框。我正在使用这个问题和答案来设置自己,但它实际上并没有做任何事情。
假设在下面的代码中,我有一个名为 的数据框comp
,我想iris
通过迭代地遍历每一列comp
并通过列中的第一行与该列中的第二行命名该变量来将空变量添加到数据框:
我试图得到这样的东西:
编辑:叹息。return(df)
我刚刚在函数中意识到是罪魁祸首。如果我删除该行,一切正常。不过,不确定这背后的逻辑是什么。
r - 长与宽,整洁与高效
当涉及在长格式和宽格式之间切换时,我在当前的数据分析工作流程中发现了一些次优步骤。考虑下面显示的三个迹线,它们具有共同的x
值,
我的数据是长格式的,可用于绘图和各种 pipy 事物,但对于分析的某些部分,处理宽(类似矩阵)格式似乎要容易得多。例如,在这个虚拟示例中,我可能希望将所有迹线的基线设置为 0,方法是减去 0 到 0.25 之间的每个迹线的平均值(灰色阴影区域)。
我找不到一种简单的方法来做这种长格式的事情。
我目前的策略是切换回宽格式,但是 i) 我不记得 dcast/reshape 的正确语法,ii) 在两者之间来回切换效率非常低。
我是否错过了一些可以提供帮助的工具?我对 data.table 建议持开放态度。
完全可重现的例子:
r - 矢量化列选择
How can I use one column's value (eg, x
below) to select among values among possible columns, when the selection is specific to each row?
x
变量确定是否应为给定行选择变量a
、b
或。c
这是一个简化的示例;真正的单元格不是列名和行号的串联。
所需的列是值:
当然,以下不会产生一列,而是五列。
以下产生错误:
Error in mutate_impl(.data, dots) : basic_string::_M_replace_aux
.
如果我的真实场景只有两个或三个选择,我可能会使用嵌套如果,但我想要一种通用映射方法来适应更多的条件。
理想情况下,该方法可以通过查找表或其他一些元数据对象来指导,例如:
我敢肯定之前有人问过这个列切换问题,但我没有找到适用的问题。
我更喜欢tidyverse解决方案(b/c 这是我的团队最喜欢的),但我对任何工具都持开放态度。我不知道如何结合使用apply和kimisc::vswitch。
r - dplyr 的 mutate 函数何时与数据库一起使用?
我尝试在类似 SQL 的数据库上使用dplyr
'函数。mutate()
我不明白为什么它有时有效而其他时候无效。
这是来自https://cran.rstudio.com/web/packages/dplyr/vignettes/databases.html的标准示例的一个示例
将数据加载到数据库中
成功创建新的数值变量
如果我尝试创建一个新的数字变量,例如year2
,一切正常
但未能使用创建新的字符变量paste0()
如果我尝试使用基本函数创建一个新变量paste0()
,则会出现错误。
会话信息在这里:
mutate()
在数据库上使用什么样的操作?
是否有任何解决方案可以paste0()
在不将数据收集到内存的情况下使用数据库等功能?
r - 从 map() 调用加入 data.frames 列表
是否有一种“tidyverse”方式来加入 data.frames 列表(a la full_join()
,但对于 >2 data.frames)?作为调用的结果,我有一个 data.frames 列表map()
。我以前做过Reduce()
这样的事情,但想将它们合并为管道的一部分——只是还没有找到一种优雅的方式来做到这一点。玩具示例:
r - 使用 tidyverse 合并两个向量
我有以下三个值。我想要做的是创建一个长度与 相同的向量lookup
,其中NA
元素被赋予 的值replace
,其余元素在 中的相应位置被赋予值data
。例如
所需的输出将是:c("no_user_data", "no_user_data", "user_3", "user_4", "no_user_data", "user_6", "no_user_data")
这里的关键约束是我希望tidyverse
尽可能多地利用。我目前的解决方案如下所示:
我相信在一些tidyverse
魔法的帮助下看起来会好很多。谢谢!