问题标签 [across]
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 - 可以关注多列时过滤行
我有这个数据:
dplyr::filter
当 R78 在 param1、param2、param3 或 param4 列中时,我想用来选择行
我尝试:
返回我:
这和我做的时候一样data %>% filter(param1 == "R78")
...
也许我滥用了“交叉”功能。我试过多个“|” 但从不工作:/
我对我的代码的期望是它必须返回一个带有第 1、4、7、10、12、14 行的小标题;仅限 18 和 19:/
多亏了你!
r - 在数据框中重新编码多个数值变量
有人可以检查我在做什么错误吗?我所有的变量都是李克特量表,从 1(非常同意)到 7(非常不同意)。现在在回归中,这些与我不断增加的因变量呈负相关。因此,我想更改数据中值的顺序。我想将所有这些重新编码的变量从 1-7 更改为 7-1。我尝试了以下代码
我也试过 '7' = 1 也没有引号 7 = 1,
错误是
错误:
.vars
必须是字符/数字向量或vars()
对象,而不是列表 运行rlang::last_error()
以查看错误发生的位置。
r - 为什么在 dplyr 1.0.0 中的速度比 summarise_all 慢?
我刚刚更新到最新dplyr
版本 1.0.0。尝试函数中的新summarize
功能,例如across
和.groups
。但令我惊讶的是,与以前的版本相比,我的代码变得非常慢。这是一个已知的问题?我做错什么了吗??查看示例。
以老式方式运行
在我的 Windows 机器上花费不到一秒钟。将其替换为summarize
/across
超过9秒!
欢迎提出建议。
r - 使用 ifelse 在 r 中创建一个新变量并更改因变量
假设我们有一个 df 如下:
所以我想创建另一个变量F
,如果 A:D 的总和大于 1,则 F 为 1 且 A:D 为 0。
此外,如果E == 1
,则F = 0
。
所以这就是我写它的方式,但它不起作用......
那么这里的正确结果应该是
r - 在 mutate 语句中动态引用列名 - dplyr
我为这个冗长的问题道歉,但过了一段时间我自己也想不出解决方案。
我有这个玩具数据框
我想创建三个变量A_def
,它们仅取对应变量 < LETTER_NUMBERB_def
> 之一的值,具体取决于它们的后缀等于 variable 的条件。C_def
cond
例如,对于 的行cond == 1
,A_def
其值应来自A_1
,B_def
值应来自B_1
,值C_def
应来自C_1
。同样,如果cond == 2
,*_def
列应该具有来自相应*_2
变量的值。
我设法通过两种方式实现了我想要的输出:一种是硬编码(可能是为了避免 ifcond
包含许多值),另一种是使用tidyr
's 的旋转函数。
硬编码解决方案:
tidyr
的解决方法:
两种情况下的输出
现在,我想知道是否可以使用mutate
和/或across
以动态方式获得相同的输出(可能使用ifelse
内部的语句mutate
?)。我尝试了以下代码片段,但结果不如预期。在其中一个中,我尝试将变量名称作为ifelse
语句中的符号,但出现错误。
dplyr
问题:有没有办法使用' 语句mutate
(或其被取代的范围变体)和/或'获得与上述相同的所需输出across
?
r - 在 dplyr 包中找不到跨函数
我想在其中使用该across()
功能,dplyr
但出现错误。例如,运行
给我
across()
是最近的介绍https://towardsdatascience.com/what-you-need-to-know-about-the-new-dplyr-1-0-0-7eaaaf6d78ac in dplyr
。但是,包dplyr
已更新并加载
检查内部dplyr
我发现它across
不存在,但是如果我在帮助程序中查找该功能,?across
我会得到解释across
.
怎么去across
上班?
- - - 编辑 - - -
我sessionInfo()
的如下:
r - 根据单独列中的字符串匹配有条件地替换多列中的值
我正在尝试根据不同列中的字符串匹配有条件地替换多列中的值,但我希望能够使用 cross() 函数在一行代码中执行此操作,但我不断收到不正确的错误对我来说不太有意义。我觉得这可能是一个简单的解决方案,所以如果有人能指出我正确的方向,那就太棒了!
更新
我们得到了一个适用于我的虚拟数据集但不适用于我的真实数据的解决方案,因此我将分享我的真实数据框的一小段,其中数字已更改并隐藏了组织名称。当我对这些数据运行这行代码 ( df %>% mutate(across(c(Attempts, Canvasses, Completes)), ~ifelse(str_detect(long_name, "park-cemetery"), NA, .))
) 时,我收到以下错误消息:
错误:
mutate()
输入有问题..2
。x 输入..2
必须是向量,而不是formula
对象。i 输入..2
是~ifelse(str_detect(long_name, "park-cemetery"), NA, .)
。
这是产生此错误的一小部分数据样本:
最终更新
错位右括号的诅咒!感谢大家的帮助......正确的解决方案是df %>% mutate(across(c(Attempts, Canvasses, Completes), ~ifelse(str_detect(long_name, "park-cemetery"), NA, .)))
r - 在 dplyr 包中使用汇总和交叉,同时区分数字和非数字列
我想对dplyr
看起来像这样的数据集执行一些操作:
每个观察都在日、周和公司级别(一周只有 2 天)。
我想firm
通过(1)在一周中的几天(即和)中取平均值来总结数据(按 分组),并为非数字across
变量取第一个条目(在这种情况下是只有,但在我的真实数据集中,我有多个不是数字的变量(和),它们可能会在一周内发生变化(),所以我只想在一周的第一天输入所有非数字变量。numeric
quant
price
firm
Date
character
nweek
我尝试使用summarise
但across
出现错误
有什么帮助吗?
r - 在 dplyr mutate(across) 调用中创建因子失败
在具有 NA 的数据集中创建因子级别适用于单个列,但我需要遍历更多列(均以“影响”开头)并且在 dplyr mutate(across) 中遇到了问题
我究竟做错了什么?
下面的代表
r - 将 cross(starts_with(), mean) 的结果分配给 R 数据框
而不是手动编写平均
我想使用cross,但我无法附加它,因为然后创建了一个1x1数据框,我尝试了它的变体但没有成功。
并且
如果可能的话,我也更喜欢使用 %<>% 来分配。有什么建议么?