问题标签 [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 投票
4 回答
4170 浏览

r - 使用 ddply 和 lapply 聚合包含 NA 的类别?

我想聚合一个超过 3 个类别的 data.frame,其中一个是不同的。不幸的是,这个不同的类别包含 NA(实际上这就是它需要变化的原因)。因此,我创建了一个data.frames. 此列表中的每个 data.frame 仅包含关于三个变量的完整案例(其中只有一个变量发生变化)。

让我们重现这个:

y非常接近我想要得到的

但是我需要在第三个变量上实现聚合,在这种情况下是categorycategoryA. 就像:

等等。如何将名称(x)添加到 lapply,或者我需要一个循环或环境?

编辑:请注意,我希望将类别或类别 A 添加到组合中。实际上,我有大约 15 个互斥的分类变量。

0 投票
1 回答
227 浏览

r - 测量数据框中所有先前值的最大值

我正在尝试制作一个函数来确定数据框列中的值是否是新高。例如,如果我有以下数据:

如何在仅考虑所有先前值的新列中返回 TRUE 或 FALSE。结果表看起来像:

如果我尝试

结果表如下,因为它计算的是整个列的最大值,而不是所有先前值的子集。

0 投票
3 回答
20877 浏览

r - 如何在列表中获取 data.frame 的名称?

如何从列表中获取数据框的名称?当然,get()获取对象本身,但我希望在另一个函数中使用它的名称。这是用例,以防您建议解决方法:

每个数据框中有一列与列表中的数据框同名。我怎样才能得到这个名字bynameofXnames(X)将返回整个向量。

编辑:这是一个可重现的例子:

0 投票
2 回答
3906 浏览

r - R通过lapply命令从乘法回归中提取回归系数

我有一个包含多个变量的大型数据集,其中一个是状态变量,每个状态编码为 1-50。我想对数据集的剩余 27 个变量(总共 55 个变量)进行 28 个变量的回归,并且针对每个州进行回归。

换句话说,对变量 1 在 covariate1、covariate2、...、covariate27 上运行回归,以观察 state==1。然后,我想对状态 2-50 的变量 1 重复此操作,并对变量 2、变量 3、...、变量 28 重复整个过程。

我想我已经编写了正确的 R 代码来执行此操作,但接下来我想做的是提取系数,最好是提取到系数矩阵中。有人可以帮我吗?这是我到目前为止编写的代码:

0 投票
3 回答
135 浏览

r - 应用后无法访问项目

我正在lapply尝试拆分数据框中的字符串。字符串看起来都类似于"02D_48M_RHD"。我正在尝试获取“D”之前和“M”之前的数字。

我的使用lapply似乎有效:

但是,在我的一生中,我无法弄清楚如何仅访问 a[ 1 ] 中向量的第一个元素。文档建议应该给我第a[[1]][1]一个元素,但这就是发生的事情:

我不明白为什么这不起作用。R 告诉我这是一个向量,但它也说它的长度为 1。

我不确定我在误解什么。是否lapply以不同于我期望的方式提供输出?我期望一个长度为三的向量列表,这就是它的样子。或者,这是我得到的,但我试图错误地访问它们?

最后,我想在我的数据框中添加三列,每一条信息对应一列,所以任何可以帮助我朝这个方向前进的东西都将不胜感激。

0 投票
1 回答
791 浏览

r - lapply 如何真正起作用 - lapply dcast?

显然,我仍然不完全了解 lapply 的真正工作原理。当然,它对列表元素应用一个函数并返回一个列表。然而,当将它与自定义函数一起使用时,我不太确定如何有效地使用它。例如,我想在使用 dcast 的自定义函数中使用它。

首先让我们获取一个示例数据集:

但我不能让它与 lapply 一起使用,我试过:

显然 X[[2L]] 在评估表达式时不起作用。我进一步尝试

这在一些类似的问题上工作,但在这里导致错误。我应该在这里使用吗?

编辑:我很惊讶约书亚的答案正是我想要的。我之前就在这条路上,但是当我尝试时很早就将其驳回:

显然为时过早,但你能解释一下会发生什么吗?

0 投票
1 回答
2360 浏览

r - 使用 igraph:由 decompose.graph() 构建的组件的社区成员资格

decompose.graph对于使用和 的社区检测功能,igraph我将不胜感激lapply

我有一个带有顶点属性“标签”和边缘属性“权重”的 igraph 对象 G。我想使用 igraph 中的不同函数计算社区成员资格,为简单起见walktrap.community

这个图不是连通的,所以我决定把它分解成连通的组件并walktrap.community在每个组件上运行,然后在原始图 G 上添加一个社区成员顶点属性。

我目前正在做以下事情

此时我被卡住了,因为我得到了结构我无法弄清楚的列表对象。上的文档decompose.graph只告诉它返回列表对象,当我lapply在结果上使用时,我完全糊涂了。此外,社区在每个组件中从 0 开始编号,我不知道如何将weights参数提供给walktrap.community函数。

如果不是组件,我会执行以下操作:

谁能帮我解决这个问题?或者提供一些可能有帮助的信息/链接?

0 投票
6 回答
57548 浏览

r - 在 lapply 函数中访问和保留列表名称

我需要访问 lapply 函数中的列表名称。我在网上找到了一些线程,据说我应该遍历列表的名称,以便能够在我的函数中获取每个列表元素名称:

问题是 mynewlist 丢失了原始的 mylist 索引,我必须添加 last names() 分配来恢复它们。

有没有办法为 lapply 函数返回的每个元素提供一个明确的索引名称?或者另一种方法来确保 mynewlist 元素设置了正确的索引名称?如果 lapply 不以与 mylist 相同的顺序返回列表元素,我觉得 mynewlist 索引名称可能是错误的。

0 投票
3 回答
150028 浏览

r - 读取文件夹中的所有文件并将函数应用于每个数据框

我正在做一个相对简单的分析,我已将其放入特定文件夹中所有文件的函数中。我想知道是否有人有任何提示可以帮助我在许多不同的文件夹上自动化该过程。

  1. 首先,我想知道是否有办法将特定文件夹中的所有文件直接读取到 R 中。我相信以下命令将列出所有文件:

files <- (Sys.glob("*.csv"))

...我从Using R to list all files with a specified extension找到

然后下面的代码将所有这些文件读入 R。

…来自在 R 中操作多个文件

但是这些文件似乎是作为一个连续列表而不是单个文件读入的……如何更改脚本以将特定文件夹中的所有 csv 文件作为单个数据框打开?

  1. 其次,假设我可以单独读取所有文件,如何一次完成所有这些数据帧的功能。例如,我创建了四个小数据框,以便说明我想要的内容:

我还编写了一个示例函数:

我通常会使用以下命令将该函数应用于每个单独的数据帧。

Df1.summary<-Summary(dfile)

有没有办法不是将函数应用于所有数据框,而是使用汇总表中数据框的标题(即 Df1.summary)。

非常感谢,

凯蒂

0 投票
1 回答
1659 浏览

r - 在 R 中,使用 binomial() 和 lapply 将 predict() 值限制在 0 和 1 之间

我有一个 GLM,family=binomial(link=logit) 模型,我在 predict() 函数中应用,如下所示。预测值超出零和 1,但我想将它们保留为概率。所以我使用了 binomial()$inverse 命令,然后可以在 apply 函数中使用该命令。

这在我第一次运行时工作得很好,但是在关闭 R 并重新启动后,我现在收到此错误:

我已经为此苦苦挣扎了好几个小时,因为这段代码通常可以工作。有谁知道我做错了什么?有没有更好的方法来做到这一点?

我的代码如下。我也尝试过其他变体,但无法正常工作。