【问题标题】:Extract items in nested lists提取嵌套列表中的项目
【发布时间】:2015-08-16 23:03:33
【问题描述】:

我有一个问题: 我根据温度(自变量)使用具有五个物种的开发时间(因变量)的数据框 我使用“by”函数计算了所有五个物种的 lm

by(dados, dados$Especie, function(dados) lm(dados$Tempo ~ dados$Temp, data = dados)

结果我得到了嵌套在其他列表中的列表,你可以在这里看到

List of 5
 $ C.albiceps   :List of 12
  ..$ coefficients : Named num [1:2] 262.78 -1.76
  .. ..- attr(*, "names")= chr [1:2] "(Intercept)" "dados$Temp"
  ..$ residuals    : Named num [1:41] -4.157 -2.394 -0.631 1.131 2.894 ...
  .. ..- attr(*, "names")= chr [1:41] "1" "2" "3" "4" ...
  ..$ effects      : Named num [1:41] -1344.031 -133.548 0.235 1.977 3.72 ...
  .. ..- attr(*, "names")= chr [1:41] "(Intercept)" "dados$Temp" "" "" ...
  ..$ rank         : int 2

这是一个包含 5 个元素的列表(每个物种一个),每个物种是一个包含 12 个元素的列表(来自 lm 函数)。因此,在 5 个列表中包含 12 个列表的 5 个列表。

现在,我的问题: 我想从我的系数中提取值并将它们相加。所以我得到了 List$speciesName$coefficients[2] 我想提取每个值(每个物种的 $coefficients 的第二项),我还想将它保存在一个向量中(以便用它计算索引)。

有什么有用的提示吗?

【问题讨论】:

  • 这是什么语言?
  • 请提供一个可重现的例子和期望的结果
  • 抱歉错过了,确实是R,但是nongkrong知道了,非常感谢:D

标签: r list nested


【解决方案1】:

您可以使用apply 函数遍历模型并使用coef 提取系数。

## Example
mods <- by(mtcars, mtcars$cyl, function(x) lm(mpg ~ disp, data=x))

## Sum up all the second coefficients
sum(sapply(mods, function(x) coef(x)[[2]]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2022-10-14
    • 2021-02-27
    • 2021-10-15
    相关资源
    最近更新 更多