【发布时间】:2018-08-25 11:59:36
【问题描述】:
我一直在这个论坛上搜索,并试图在我的案例中实施这些问题的先前答案中所说的内容。但是,我的代码中缺少某些内容。
我使用 lapply() 和内部运行 ddply 的函数。这很好用。但是,我想通过读取数据帧的名称来识别单个数据帧的每个结果,而不是 [[1]]、[[2]]...
出于这个原因,我正在尝试实现 seq_along 参数,但没有成功。让我们看看我有什么:
-
我创建了一个列表,将 16 个不同的数据帧(具有相同的结构)分组到一个对象中,称为 melt_noNA_noDC_regression:
melt_noNA_noDC_regression <- list(I1U_melt_noNA_noDC_regression, I1L_melt_noNA_noDC_regression, I1U_melt_noNA_noDC_regression, I1L_melt_noNA_noDC_regression, CU_melt_noNA_noDC_regression, CL_melt_noNA_noDC_regression, P3U_melt_noNA_noDC_regression, P3L_melt_noNA_noDC_regression, P4U_melt_noNA_noDC_regression, P4L_melt_noNA_noDC_regression, M1U_melt_noNA_noDC_regression, M1L_melt_noNA_noDC_regression, M2U_melt_noNA_noDC_regression, M2L_melt_noNA_noDC_regression, M3U_melt_noNA_noDC_regression, M3L_melt_noNA_noDC_regression) -
后来,我成功运行了这个 lapply() 行。
lapply(melt_noNA_noDC_regression, function(x) ddply(x, .(Species), model_regression)) -
由于我有 16 个不同的数据框,我想在 lapply 函数的结果中识别它们。我尝试了几种组合以在 lapply 代码中包含 seq_along,如本例所示:
lapply(melt_noNA_noDC_regression, function(x) { ddply(x, .(Species), model_regression) seq_along(x), function(i) paste(names(x)[[i]], x[[i]]) })
但是,我不断收到错误,这有点令人沮丧。这可能很容易解决,但我被阻止了。
有办法解决这个问题吗?
【问题讨论】:
-
您是否尝试在第一步中使用命名列表? lapply 保留列表元素的名称,您可以稍后使用这些名称访问特定结果。