问题标签 [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.

0 投票
1 回答
364 浏览

r - cbind 不同的值到数据帧列表中的每个数据帧上

我有一个代表聚集数据的数据框列表。

我想使用一个包装函数,比如lapply将列表中每个数据帧的索引附加到每个数据帧的末尾。我希望输出看起来像:

我已经尝试过lapply(clusters, function(x) cbind(x,cluster= 1)),但当然只将值 1 附加到每个数据帧,而不是值 1、2、3、4。我也尝试过lapply(clusters, function(x) {i=1:4; cbind(x,cluster= i)})我在另一个 stackoverflow 页面上看到的建议,但收到了错误:

任何帮助将非常感激。

0 投票
3 回答
287 浏览

r - R中的环境,mapply和get

x<-2在全球环境中:

让是一个在本地a定义另一个并使用的函数:xget

此函数正确地x从本地环境中获取:

现在让我们定义一个b如下的函数,它使用mapplywith get

如果我打电话b,似乎mapply没有get先搜索功能环境。相反,它尝试x直接从全局环境中获取,如果x没有在全局环境中定义,它会给出错误消息:

对此的解决方案是显式定义envir=environment().

但我想知道这里到底发生了什么。在mapply做什么?(为什么?这是预期的行为吗?)这种“陷阱”在其他 R 函数中是否常见?

0 投票
1 回答
33 浏览

r - 将列表元素分配为函数参数

假设:

我的主要问题是:对于每个list_对象,如何将其两个元素作为参数传递my.foo,以便获得 11 和 25?

到目前为止,我最接近解决问题的猜测是:

但它不适合我需要做的事情,因为它返回 6 和 30。

感谢您的任何建议,斯特凡诺

0 投票
1 回答
276 浏览

r - R: Help working with multiple data.frames and mapply

I have two data files consisting of 8 Rows, 2151 columns. I want to do a regression between each file, for each column, and pull out slope, intercept, and r-squared values. Example: do a regression of File 1 Column 1 (all 8 rows) and File 2 Column 1 (all 8 rows), grab the three values of interest (intercept, slope, rsquared), and move on to the next set of columns for both files.

@thelatemail gave me a tremendous piece of code that does nearly everything.

I was hoping to tweak this a bit just so I can extract R2 values from the linear model. So I wrote a quick function just to see if I could replicate the success and go forward.

Unfortunately when I write it this way, I get an error that states:

I'm not really sure why I get an error when I write it out this way. I'm misunderstanding something. To me the long form of what I wrote seems identical to the original one line. But it isn't and so I'm trying to figure out how I can modify the code to make it work.

0 投票
1 回答
699 浏览

r - 使用格式化将列值写入 R 中的 Excel 电子表格

我正在尝试使用该包xlsx读取模板的样式(格式),然后将数据从数据框中写入具有相同格式的 .xlsx 文件。我正在关注我可以从包的 Wiki 中找到的最接近的示例。

问题是,当尝试从我的数据框中写入数据时,它会以 NULL 的形式出现,尽管我尝试写入的列的类与 Wiki 中的示例匹配,我的语法也是如此。

依此类推,一直到:

没有包我可以很容易地做到这一点xlsx,但我的想法是继续使用他们的包,以便我可以在填充数据后应用模板工作簿中的格式。

有趣的是,我还使用内置month.name数据返回 NULL 值,如示例中所示:

0 投票
1 回答
348 浏览

r - 使用 mapply 对嵌套列表的值进行索引

我有一个列表列表,每个子列表包含 3 个值。我的目标是以系统的方式循环遍历这个嵌套列表的每个值(即从列表 1 开始,遍历所有 3 个值,到列表 2,等等),对每个值应用一个函数。但是我的函数遇到了缺失值和中断,我已经将问题追溯到索引本身,它的行为并不符合我的预期。列表构造如下:

说明性功能和结果。

对于通过“j”的第一个循环,这是有效的。但在那之后它会抛出 NA。但如果我手动执行,它会返回我期望的值。

我确定这是一个基本问题,但我似乎无法在此处或 Google 上找到正确的搜索词来找到答案。提前致谢!

编辑添加: MrFlick 的回答非常适合我的问题。在我的实际使用中,我有多个列表输入(因此 mapply)。一个更详细的示例,带有一些注释。

0 投票
1 回答
818 浏览

r - 在向量的多个子集上使用应用函数

一段时间以来,我一直在寻找解决方案,但似乎没有任何东西可以解决我遇到的这个看似简单的问题。

长话短说,我希望在向量的多个子集上运行一个函数,但我试图避免 for 循环。

作为一个简单的例子

现在我要做的是运行一个应用函数,它会找到 的最后 7 个条目的(比方说)平均值x,然后是 的最后 8 个条目x,然后是 x 的最后 4 个条目,等等。

这将以tail(x, n)某种方式使用该函数,但我得到了错误的结果,因为 apply 系列函数将为其传递的参数中的每个元素返回一个结果(如在 mapply 中),这将不起作用length(x) != length(index),因为传递对象中每个元素的结果(在本例中为 x 的 20 个元素)。我希望得到 10 个均值作为输出。

想法?让我知道我是否可以稍微澄清一下这个例子。

0 投票
4 回答
240 浏览

r - 如何避免R中的这个循环(rapply?lapply?)

我试图用一个没有任何成功的简单命令替换这个循环(lapply?rapply?mapply?)。也许在 R 中确实需要循环是一种罕见的情况?

我的问题表述得很糟糕。这些回答帮助我理解了我真正需要的是把一个向量的值访问到一个函数中。使用对于任何函数“f”来说都很简单的循环,我们可以计算出:

也许唯一的方法是全局变量?

0 投票
1 回答
3138 浏览

r - 将向量中的所有元素与没有 for 循环的列表中的所有元素进行比较

这就是我想要做的

我想知道向量的每个元素是否存在于列表的每个元素中。我尝试了 mapply 但它只比较相应的元素。我想要所有的组合。

使用 mapply,输出看起来像这样。我想要的输出是这样的

无论如何不使用嵌套的for循环来做到这一点?也试过这个功能outer(),但它不起作用。

0 投票
2 回答
746 浏览

r - 两个列表中对象之间的方差分析

我想在存储在两个单独列表中的对象之间执行方差分析,而不是像这样一次执行一个

我想使用循环在每个列表中的对象之间执行方差分析。我尝试使用 mapply 函数,但是输出没有产生我期望的结果。

关于如何做到这一点的任何建议?

谢谢

编辑:可重现的例子