自动将变量名称添加到列表的元素[重复]

2024-05-10

我有一个模型列表,为了使代码更易于维护(因此可以方便地添加和删除模型),我希望有一个地方来存储它们及其名称。为此,我必须解决以下命名问题。

上游,我生成模型的方式比以下方式效率低(如果是这样压缩的,我会assign他们对自己的env).

lmNms <- c( "mod1", "mod2", "mod3", "mod4", "mod5", "mod6")
lapply(lmNms, function(N) assign(N, lm(runif(10) ~ rnorm(10)), env = .GlobalEnv))

下游,我已将混乱收集到一个列表中:

modelList <- list(mod1, mod2, mod3, mod4, mod5, mod6)

我有一个(未命名的)变量输出列表,并附加名称如下:

output <- list(1, 2, 3, 4, 5, 6)
names(output) <- lmNms

我希望能够使用来自的型号名称modelList:

modelList <- list(mod1, mod2, mod3, mod4, mod5, mod6)
names(output) <- someFun(modelList)

我确信存在someFun——但我不明白……这可以做到吗?

明确地说,目标是做到这一点without using lmNms-- 我想从以下位置获取名字modelList,或者让它们附加在我构建的点上modelList(重点是避免list(a = a, b=b ...)样板文件。


关键是当您不提供名称时,重新创建列表函数以粘贴名称。

listN <- function(...){
    anonList <- list(...)
    names(anonList) <- as.character(substitute(list(...)))[-1]
    anonList
}

有了这个,你就可以modelList如下:

modelList <- listN(mod1, mod2, mod3, mod4, mod5, mod6)

附上名字:

R> names(modelList)
[1] "mod1" "mod2" "mod3" "mod4" "mod5" "mod6"

给出了更完整的解决方案here https://stackoverflow.com/questions/20545476/how-does-data-table-get-the-column-name-from-j,这对于混合使用匿名和命名参数来说是稳健的list.

listN2 <- function(...){
    dots <- list(...)
    inferred <- sapply(substitute(list(...)), function(x) deparse(x)[1])[-1]
    if(is.null(names(inferred))){
        names(dots) <- inferred
    } else {
        names(dots)[names(inferred) == ""] <- inferred[names(inferred) == ""]
    }
    dots
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动将变量名称添加到列表的元素[重复] 的相关文章

随机推荐

  • 以编程方式显示 UIView

    我试图 通过动画 显示 UIView 具体来说 我想显示视图的中心部分 然后慢慢地显示它的外边缘 有点像拉开窗帘 我的第一次尝试是简单地将边界矩形设置得更小 并将其动画化为视图框架的完整大小 但这没有达到预期的效果 因为通过更改边界 我也更
  • Keras 序列模型中的数据增强层

    我正在尝试将数据增强作为一个层添加到模型中 但我遇到了我认为是形状问题 我也尝试在增强层中指定输入形状 当我取出data augmentation模型中的图层运行良好 preprocessing RandomFlip horizontal
  • r - 从我的应用程序下载shinyapps代码

    我正在尝试从shinyapps io 在另一台电脑上下载我的shiny 应用程序代码 我按照这个例子 https support rstudio com hc en us articles 204536588 从 shinyapps io下
  • 我应该将标签存储在文本字段还是单独的表中?

    我有一个表 其中的行如下所示 id path tags 1 pictures pic1 jpg car bmw 3 pictures pic2 jpg cat animal pussy 4 pictures pic3 png gun 基本上
  • Angular2 RxJS从地图函数调用类函数

    我是 Angular 2 和 Observables 的新手 所以如果我的问题微不足道 我深表歉意 无论如何 我正在尝试使用 RxJS 测试 Angular 2 HTTP 客户端 虽然我让它工作了 但我需要向我当前正在处理的服务添加更多逻辑
  • UIButton 未出现在 iPhone 5S 上

    总的来说 我对 iOS 开发和开发还很陌生 我一直在开发时间 记录保存应用程序 但遇到了一个奇怪的问题 在我的一个视图控制器上 我有一个 UITableView 每个单元格都是一个按钮 可通往不同的视图控制器 在第一个单元格上 用户应该能够
  • “目标计算机上的 PowerShell”任务失败,并在 TFS 2017\Azure Dev Ops 中出现错误

    我尝试使用 TFS 构建定义中的 目标计算机上的 PowerShell 任务来运行其中一台 Azure 服务器上存在的 PowerShell 脚本 但该任务失败并出现以下错误 System Management Automation Run
  • 如何将图标放置到 QLineEdit 上?

    stackoverflow com 网站的右上角有一个带有放大镜头的搜索字段和一个灰色的 搜索 关键字 我想知道是否有可能实现相同的外观QLineEdit 如果是这样那怎么办 QLineEdit lineEdit new QLineEdit
  • 如何使用Post方法使用HttpClient?

    如何使用Post方法使用HttpClient 请参阅文档默认HttpClient http developer android com reference org apache http impl client DefaultHttpCli
  • C# Marshal.SizeOf

    我使用 Marshal SizeOf 来了解我的结构的大小 struct loginStruct public string userName public string password public loginStruct string
  • 使用 Java Batik 库的学习资源和教程 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Batik 库 它对于在 Java 中显示 SVG 图形非常有用 对于显示和渲染 SVG 文
  • 对列中的字符串进行排序并打印图表

    我有数据框 但所有字符串都是重复的 当我尝试打印图表时 它包含重复的列 我尝试删除它 但我的图表打印不正确 我的 csv 是here https yadi sk i rOYxzv26qQans 数据框common users used at
  • 使用 Swift 选择 NSTextField 中的所有文本

    如何使用 Swift 以编程方式选择 NSTextField 中的所有文本 对于 UITextField 有一个类似的方法 textField selectedTextRange textField textRangeFromPositio
  • 错误:“消息回复时间太长”向设备手表套件 OS 2 发送消息

    从 Apple Watch 向设备发送消息时出现以下错误 错误域 WCErrorDomain代码 7012 消息回复时间太长 UserInfo NSLocalizedDescription 消息回复时间太长 NSLocalizedFailu
  • Solr 中缺少强制 uniquekey 字段错误

    我的项目中有这个问题 我使用 Apache Poi 读取 xlsx excel 文件 并且想在 Solr 核心中对它们进行索引 我使用 SolrInputDocument 来索引读取文件 这是我的java代码 package org sol
  • 如何为强制长度为 2^n 的向量类型定义可用的 Applicative 实例

    对于某些应用程序 我需要长度为 2 n 的向量 为了强制某些操作的长度匹配 我使用 ist 应用实例定义了我的类型 如下所示 LANGUAGE GADTs DataKinds FlexibleInstances FlexibleContex
  • node.js - 将两个可读流写入同一个可写流

    我想知道如果您同时将两个不同的读取流传输到同一目的地 node js 会如何操作 例如 var a fs createReadStream a var b fs createReadStream b var c fs createWrite
  • 如何上传图像代码并将路径保存到mysql数据库中

    如何编写代码上传图像并将路径保存到mysql数据库中 我已经尝试过 但没有一个有效 一种方法是上传图像并将其存储在服务器上的文件夹中 并将名称保存到 mysql 数据库中 这是一个例子 首先我们将创建一个用于上传的表单 文件 html Up
  • 如何下载内存流文件

    我是 asp net 的初学者 我使用以下命令创建 pdf 文件PdfRpt http pdfreport codeplex com SourceControl BrowseLatest 我在课堂上写这段代码 namespace PdfRe
  • 自动将变量名称添加到列表的元素[重复]

    这个问题在这里已经有答案了 我有一个模型列表 为了使代码更易于维护 因此可以方便地添加和删除模型 我希望有一个地方来存储它们及其名称 为此 我必须解决以下命名问题 上游 我生成模型的方式比以下方式效率低 如果是这样压缩的 我会assign他