问题标签 [lapply]

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 投票
2 回答
923 浏览

r - 在雪簇上分发列表

当数据仅包含在一个列表或矩阵中时,雪包 parXapply() 函数可以很好地分配工作,但在这种情况下,我需要在四种不同类型的矩阵上运行一个函数。

例如,这就是我现在所拥有的:

我遇到的问题是矩阵非常大,我怀疑在完整列表上调用 parLapply() 涉及将所有数据传输到每个集群节点。这可能非常耗时并且会降低集群性能。

如何在调用 myfun() 之前拆分列表并仅将相关矩阵发送到每个节点进行处理?

0 投票
1 回答
113 浏览

r - 使用文件名按月平均数据

我有一个与 R 相关的问题,这与必须读取许多文件并处理这些文件有关。每个文件用于在不同站点的不同时间进行的臭氧测量。数据采用表格格式,我可以使用以下方式读取数据:

这为我现在要处理的所有文件提供了一个数据框。例如文件被命名为:

其中“fiji”为电台名称,日期为 YMD 格式。我想对数据框进行平均以获得该站的月平均值(我一次只需要在一个站上工作,所以我真的只想对称为数据的数据框进行平均以产生 12 组平均数据)。

我想我可以使用一些 ?apply 函数来做到这一点,但我真的不知道如何做到这一点。任何关于解决方案的建议都非常感谢!

作为将日期添加到数据框中的结果示例,我们有:

0 投票
1 回答
347 浏览

r - 如何加快这个 _for_ 循环?使用 data.table + lapply?

此代码生成类似于我自己的数据集:



我试图找出过去 7 天内发生的变量“cnt”的总和。有时日期不是连续的(参见前面的“df”中的最后一个日期)——按 id。

这是循环:



我最终在 800 万行 data.frame(数千个 id)上运行它,所以虽然玩具在这里很快,但在实践中却非常慢。

我在代码的其他部分使用 data.table 包非常幸运,但我不知道如何让它在这里工作。也许 lapply 在 data.table 内?

提前致谢!

0 投票
1 回答
623 浏览

r - 将 read.table 的输出存储在数据结构中

我尝试过使用向量、数组、列表和集合。当我稍后访问数据时,似乎数据被转换为某个一维结构。例如。

这:

产生这个:

我查看了 R 的文档(一些谷歌搜索和帮助功能),但我无法确定 read.table 返回的对象类型。根据我以前的经验,我认为这是一个数据框或矩阵。

无论如何,我怎样才能将这些输出存储在某种结构中而不是转换它?或者至少不丢弃数据。它可能像现在一样在那里。谢谢你的时间。在我目前的情况下,我有一个解决方法,但似乎这应该很容易实现。

0 投票
1 回答
118 浏览

r - 转换冗余频率的数据帧

我有一个这样的data.frame:

每行代表一个具有类别类型和该元素计数的特定元素。我想生成每个类别的计数频率分布,但这些类别目前是多余的。

如何检索冗余类别计数表?即我想要一个看起来像这样的表:

我几乎使用 lapply 到达那里:

但我似乎无法将输出强制转换为正确的数据帧。我无法完全理解使用该功能。

0 投票
3 回答
3118 浏览

r - lapply 和 do.call 运行很慢?

我有一个大约 35,000 行,7 列的数据框。它看起来像这样:

头(nuc)

gene_id 是一个因子,它有大约 3,500 个独特的级别。我想,对于每个级别的gene_id 得到min(start), max(end), mean(pctAT), mean(pctGC), 和sum(length).

我尝试使用 lapply 和 do.call ,但它需要永远 +30 分钟才能运行。我正在使用的代码是:

我确定我做错了什么来减慢速度。我还没有等待它完成,因为我确信它可以更快。有任何想法吗?

0 投票
1 回答
554 浏览

r - 将函数应用于多个 data.frames 中的行

不知道怎么问这个,但我会试一试:

我有 20 个从 MS Access 导入的数据帧(例如 2006_1、2006_2、2007_1、2007_2...)。

每个 data.frame 有 10 列和大约 300 万行。

每个 data.frame 中的第一列名为secuityName,它是一个股票代码列表,后面跟着一些标签。

我想SecurityName在 20 个 data.frames 中的每一个中对列中的每一行进行大写。

结构如下:

我希望每个人看起来像这样:

我有一个名为 *Raw_data_vector* 的向量,其中包含所有 data.frame 名称

原始数据向量

我尝试使用lapply但无法正常工作:

0 投票
1 回答
809 浏览

r - 有条件地申请?

我尝试使用 lapply 代替与 for 循环一起使用的功能。我对 R 很陌生,对 lapply 不满意。我特别不知道如何制作“如果”条件。

我当前的带有 for 循环的代码看起来像这样(它规范化卷系列):

我从Apply over two data frames中知道如何执行一个适用于 2 个数据帧的函数,但我仍然看不到如何处理测试。

感谢您的支持,文森特

0 投票
1 回答
1072 浏览

r - 如何让 R 的 lapply(和 mclapply)恢复随机数生成器的状态?

R 忽略.Random.seedlapply 内部的设置。但是,使用set.seed效果很好。

一些代码:

我的目标是检查点 MCMC 运行,以便它们可以准确地恢复。我可以轻松保存 RNG 的状态,只是无法让 R 在 lapply 循环中加载它!

有没有办法强制 R 注意到设置.Random.seed?或者有没有更简单的方法来实现这一点?

万一这很重要,我使用的是 64 位 R:

在 Ubuntu 12.04 LTS 上:

0 投票
1 回答
800 浏览

r - lapply 后的列名

我有这样填充的数据集:

ClosePrices <- do.call(merge, lapply(tickers, function(x) Cl(get(x))))

我无法解决的问题是当我应用一个为每个输入生成多个列的函数时。在这种情况下,ADX 产生 4 个值 (DIp DIn DX ADX):

如何获取相应的列名而不是数字?(DX.DIA 而不是 DX.1),还是只选择 $ADX 命名的列?