问题标签 [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 - 排除列时改变的正确语法
我正在尝试将代码从 using 转换mutate_at
为 using mutate(across())
。我假设我有一个语法错误,但在试图弄清楚它的 45 分钟后,我决定是时候参与这个论坛了。
可重现的例子:
我以前的 mutate_at 代码工作正常:
当我尝试转换为mutate
并across
使用它时,我收到一个错误:
我怀疑错误源于试图排除该行中的列.cols =
,但我尝试过.cols = !c(index_name, totalReturn_daily)
,.cols = c(-index_name, -totalReturn_daily)
甚至.cols != c(index_name, totalReturn_daily)
但我得到了同样的错误。
感谢您的帮助!
r - 排除列时改变的正确语法,第 2 部分
我以为我在这里找到了我的问题的答案,但是当我使用更大的数据集时,我得到了不同的结果。我怀疑差异是因为na.locf
线路的行为方式。
基本上,我正在将以前使用mutate_at
的代码转换为带有mutate(across())
.
在下面的第一种情况下,数据被正确填充,因为df_initial
仍然按 index_name 分组。在第二种情况下,我假设因为我必须取消分组mutate
across
才能工作,所以我得到了不同的答案。
所以这里有一个更大的数据集的例子来说明这个问题。
可重现的例子:
下面的第一种方法给出了正确的值,但下面的第二种方法没有。因此,我试图在方法#2 中得到相同的答案,而我在方法#1 中得到相同的答案。
谢谢!
r - 如何以编程方式将转换应用于多个变量并使用 dplyr for R 保留原始变量和转换后的变量
我有一个大型数据集,我想以编程方式在某些变量中应用一些转换。为了说明,假设我想将日志应用于字符向量中包含的变量。我想保留输入变量并生成一个新变量,为字符向量的每个变量添加(或附加)前缀(或后缀)。由于几行代码相当于一千段代码,因此我的主要目标df_aim
是以较少重复的方式获得结果,例如在df_syntax
.
代表
如果这个问题重复,我感谢您的关注并道歉。
r - How to mutate several columns by column index rather than column name using across?
Building on this questions:
R dplyr mutate on column index
dplyr: how to reference columns by column index rather than column name using mutate?
I want to mutate several columns using column indexes for both the source and the destination of the mutate like:
gives:
r - 组合函数时如何在cross()中使用函数名?
当我尝试将该across()
函数与许多要应用的函数一起使用时,结果我得到的列命名如下:
列的名称是1_Petal.Length, 2_Petal.Length
等等,但我想得到的是函数的名称而不是数字,例如mean_Petal.Length, median_Petal.Length
等,就像参数中只有一个函数一样.fns
。我知道我可以用 来命名函数.fns = c(mean=mean, median=median, var=var, sd=sd)
,但是我在这里缺少什么更简单的方法吗?
r - 使用函数内的列名跨列应用函数
我正在尝试迭代 100 多列以确定单独列中的变量是否与列名匹配。我想也许 cross 函数可能能够但无法弄清楚如何在每一列上使用 mutate。请参见下面的示例。
我的表目前具有以下结构。
我希望最终结果如下所示:
r - 当级别数低于使用 dplyr 的给定阈值时,将数值变量转换为因子
当级别数低于 dplyr 的给定阈值时,我想将数值变量转换为因子。
这对于编码为数字“0/1”的二进制变量最有用。
示例数据:
我可以使用 mutate()、cross() 和 where() 轻松地将所有变量转换为因子,如下所示:
但是,对于 where() 函数,我找不到一种方法来改变多个条件,包括我的阈值参数。我想要这个输出:
尝试了以下方法,但失败了:
错误信息:
也许我不太了解cross() 和where()。欢迎提出建议。
附加问题:为什么在 is.factor 之前包含否定运算符 (!) 会在没有 (!) 的版本完全没问题时让我出错?
错误:mutate()
输入有问题..1
。x 无效的参数类型 ℹ 输入..1
是across(where(!is.factor), as.factor)
. 运行rlang::last_error()
以查看错误发生的位置。
r - 如何在分组数据帧上使用 dplyr::across 和多参数函数?
我想计算多列的加权移动平均值,每列使用相同的权重。加权移动平均值应按组计算(与使用具有多个参数的函数的 `dplyr::across`形成对比)。
在下面的示例中,分组应该使加权移动平均值每年“重置”,从而为每年的前两个观测值产生缺失值。
我该如何进行这项工作?
由reprex 包于 2021-03-31 创建(v1.0.0)
r - 使用 dplyr 在除某些列之外的所有列中发生变异
我发现这across()
对于在多个列上重复操作非常有用。但是,我仍然没有完全理解如何为操作选择特定的列。
假设我想将一个函数应用于除和mtcars
之外的所有列。 gear
carb
我尝试了类似的东西
但是,这会引发错误
取消选择某些列的正确方法是什么across
?
r - 如何使用 cur_column 选择列并应用函数?
我正在尝试添加列,rowSums
因为它是一个快速函数,使用 cur_column 因为选择列取决于初始列a_value
b_value
。这是一个代表,所以它需要使用rowSums
cur_column
或类似的东西,因为它将用于数千行和 ~ 16 列。
输入:
输入的结果。
所需的输出。value_value_exc_param是a|b
_param和_param之和i
i+1
a|b
i
a|b
i+1
到目前为止我尝试了什么,它不起作用:
可能还有另一种我不知道的简单有效的方法,请随时提供,谢谢。