【问题标题】:Extract Variable Values Using For Loop in R在 R 中使用 For 循环提取变量值
【发布时间】:2019-05-24 01:56:46
【问题描述】:

我在 R 中有 102 个不同的模型,标题为“model1”、“model2”、“model3”...“model102”,它们被编码为列表。它们每个都具有完全相同的结构,其中第 9 个元素检索 AIC 值。我希望使用一个 for 循环(或任何方法),它可以为我的每个模型提取 AIC 值,将 AIC 值从最低到最高排序,并将排序后的值放入一个新的数据框中。

我有使用 Python 的经验,因此我最初的想法是使用 Regex 在 for 循环中按顺序连接字符串和数字。不幸的是,我几乎没有 R 经验,我不确定如何从每个变量中提取 AIC 值。

有什么想法吗?谢谢!

number <- seq(1,6,1)
modelList <- paste(name,number,sep = "")

for (i in 1:length(number)) {
  print (modelList[i]$AIC)
}

【问题讨论】:

    标签: r


    【解决方案1】:

    base R 选项是将对象的值放入一个列表中(假设模型标识符名为“model1”、“model2”、...、“model102”),循环遍历@987654322 @ 和 sapply,提取“AIC”值,sort 它并创建一个包含一列的“data.frame”

    lst1 <- mget(paste0("model", 1:102))
    aicV <- sapply(lst1, function(x) x$AIC)
    d1 <- data.frame(aic = sort(aicV))
    

    【讨论】:

    • 这很完美!感谢您的帮助,非常感谢!
    猜你喜欢
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多