问题标签 [mapply]
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 - 映射基础?- 如何从两个向量和一个函数创建一个矩阵
我正在尝试创建一个 data.frame 从中创建图表。我有一个函数和两个向量,我想将它们用作两个输入。这有点简化,但基本上我所拥有的是:
我想要的只是一个 data.frame,其中 3 列用于 avgGPA 值,16 行用于 relGPA 值以及单元格中的结果值。
我很抱歉这是多么基本,但我向你保证,我已经尝试在没有你帮助的情况下实现这一点。我已经尝试按照 sapply 和 mapply 手册页上的示例进行操作,但我对 R 来说有点太新了,看不到我想要做什么。
谢谢!
r - 强制mapply返回一个列表?
假设我有一个创建数据框的函数。我想用不同的输入值运行该函数,然后将结果合并到一个大数据框中,如下所示:
我的 CreateDataFrame 函数需要三个参数。在上面的示例中,第二个和第三个参数保持不变。我想做和上面一样的事情,但是每次调用都会改变第二个和第三个参数。我想我必须使用mapply,像这样:
我遇到了麻烦,因为 mapply 没有返回列表,这阻止了我运行do.call(rbind, mapply(...))
. 我怎样才能得到一个数据框,就像我在顶部的示例中所做的那样?
看起来像 mapply 正在返回一个列表矩阵。我期待它返回一个数据框列表。我应该怎么做?
r - 有效计算每个数字范围内的数字
我正在寻找以下问题的更快解决方案。我将用一个小例子来说明这个问题,然后提供代码来模拟大数据,因为这就是这个问题的重点。我的实际问题大小是列表长度 = 100 万个条目。
说,我有两个列表,如下所示:
x 和 y 的属性:
- 列表中的每个元素
x
总和为 100。 - 的每个元素
y
将始终进行排序,并且始终介于 1 和 100 之间。
问题:
现在,我想要的是这个。取x[[1]]
and y[[1]]
,我想找到y[[1]]
1) <= 82 和 2) > 82 和 <= 100 中的数字计数。那就是 c(4, 1) 因为数字 <= 82 是c(1,2,3,55)
和之间的数字83和100是c(90)
。x[[2]]
与y[[2]]
, c(0, 2, 1)类似。也就是说,答案应该是:
如果这还不清楚,请告诉我。
具有 100 万个条目的模拟数据
到目前为止我所做的:
使用mapply
(慢):
我想首先使用rank
with ties.method="first"
and mapply
(显然选择 2 个列表)并尝试了这个:
虽然这工作得很好,但 1M 条目需要大量时间。我认为计算的开销rank
会diff
增加很多次。这需要241 秒!
因此,我决定尝试并通过使用“组”列进行排序来克服和的使用rank
。我想出了一个更长但更快的解决方案,如下所示:diff
data.table
使用data.table
(更快):
这需要26 秒。所以它快了大约 9 倍。我想知道是否有可能获得更多的加速,因为我必须在 5-10 个这样的 100 万个元素上递归地计算它。谢谢你。
r - 使用 mapply 通过带有函数的向量逐元素变换向量
有一个关于使用的问题mapply
。
考虑以下 2 个案例: 案例 1显示了我希望做的简化示例。我使用 mapply 将向量 k 元素与存储在向量 trans 中的函数进行转换。这有效(与这个问题有关)
在案例 2中,我希望做类似的事情,但是,我需要额外的函数参数(这里,存储在 a 中)。但我可能需要 n 个函数参数。我在这个例子中得到的是一个 3x3 矩阵,预期结果在对角线上。我只想要对角线的计算输出。如何?
r - mapply 在列表中添加唯一的列名
假设我有一个清单:
然后,我想为每个列表元素添加一列,该列的名称不同。
答案是
这不是我所期望的。我希望答案是:
Update
:
如果我使用SIMPLIFY=FALSE
r - 将函数应用于两个列表?
要找到两个矩阵 X 和 Y 的逐行相关性,输出应该具有 X 的第 1 行和 Y 的第 1 行的相关值,...,因此总共有 10 个值(因为有 10 行):
现在,我应该如何将此函数应用于两个列表(每个列表包含大约 50 个数据帧)?
考虑列表 A 具有数据框 $1、$2、$3... 等等,列表 B 具有相似数量的数据框 $1、$2、$3。因此,该函数应应用于列表中的其他数据帧listA$1,listB$1
,listA$2,listB$2
以此类推。listA$1
最后,在比较 1 (和listB$1
) 以及其他情况下,我将有十个值。
这可以使用“lapply”来完成吗?
r - 在 R 中有没有比 mapply 有效的替代方法?
这是我正在尝试测试的示例数据和代码:
我想知道我是否真的应该mapply
在这种情况下使用。有没有更有效的方法来执行操作?
python - R:比较大数据框中的两个字符列
所以,我有一个非常大的数据框,它有两列字符。这些字符是一些用“;”分隔的 ID 值。所以,我想计算这两列之间公共 ID 值的数量。这是一个例子:
所以在这种情况下,第一行有一个公共值,第二行有两个公共值。
表大小为 60M 记录,部分字符串可能超过 1000 条。我尝试将数据写入文本文件,并通过 python 进行分析,但文件大小为 30GB。任何想法在 R 中做到这一点?(正则表达式,应用,..)
我可以通过以下命令计算 numbe rof 公共值:
因此,我写了一个函数:
当我在一次调用中尝试它时有效,但是当我将它与下面的 mapply 一起使用时,它会打印所有列,但我只想要输出中的数字:
那么,为什么它也打印第一列呢?我的命令有什么问题?
r - R:根据上一行中的值更改一行中的值
我之前问过类似的问题,但似乎我不够清楚。我有一个 32 列的 data.frame。我想在满足此特定条件的每一行下方创建一个重复的行
根据 DWin 的建议,我使用以下代码完成了此操作。
这工作得很好,但现在我需要更改“父”行和新创建的重复行的一些值。父行的变量action和time需要设置为
重复行需要将变量action和time设置为
这是一个显示数据结构的示例 data.frame(原始数据库中有更多列)。
这是最终的 df 应该是什么样子。
谢谢,蒂姆
r - 在积分和映射中使用 tryCatch
我有日期(测试):
我正在尝试使用以下代码找到积分。如果发生错误,我希望代码返回 NA ,否则返回整数值。对于第 1 行和第 4 行,它返回值,但对于第 2 和 3 行,它返回错误。不幸的是,我没有成功使用tryCatch
.
在以下代码中,对于每个 i(行号),积分函数 (funint) 使用列 x1b1 和 x2b1 或 x1b0 和 x2b0 中的值加上其他四个变量:si、ho、bd 和 i1。
预期输出:
在这方面的任何帮助将不胜感激。
注意:代码有效。我唯一的问题是如何跳过错误(通过在发生错误时返回 NA )并保持代码对其他行有效。