如何在 R 中并排显示列表 - 列表的“cbind”?

2024-04-14

我希望利用我的屏幕空间并排查看几个简单的列表。我并不是想把它们结合起来,a lacbind,但我不介意是否创建一个新的中间结构。当然,要意识到一个列表可能有许多不同类型的对象,尽管我几乎保证我的列表具有相同的结构;如果有必要让事情正常工作,请随意插入“NA”或“NULL”(或者我可以弄清楚如何解决这个问题)。

以下是我想尝试并排显示的三个示例列表:

l1 <- list(e1 = "R", e2 = list("statistics", "visualization"), e3 = 0)
l2 <- list(e1 = "Perl", e2 = list("text processing", "scripting"), e3 = 0)
l3 <- list(e1 = "Matlab", e2 = list("numerical computing", "simulation"), e3 = c("academic - unknown", "professional - unknown"))

如果您有一台宽显示器,那么看到这些显示器占据了如此多的垂直空间而在水平通道上使用了如此之少的空间,这看起来像是一种浪费。如果这些列表再长一点,我就无法一次看到超过 2 个列表,而无需缩小字体。

如果它能让事情变得更容易,e3条目在l1 and l2可能"FOSS",匹配的字符向量l3$e3,但真正的目标是 R 控制台中的布局问题。

一些简单的、特定于接口的解决方案包括:

  • 启动多个 R 实例,使用 GNU 分屏screen and C-A |
  • 学习ESS,让Emacs的奇迹解决一切
  • 使用另一个文本编辑器(例如 Notepad++)来回移动文本块

我正在尝试的非天真的解决方案是:

  • 将它们写到一个文本文件中。这里的问题是计算出固定宽度的间距。或许read.fwf有助于。 (如果条目超出了分配的空间,可以因错误而停止,或者截断内容。)
  • 尝试一些与reshape包裹。
  • 可能涉及到一些事情xlsx,创建一堆单元格,每个单元格都有文本条目,然后尝试显示一个大字符矩阵。

还有其他一些更有效的方法吗?再次强调,没有什么东西真正需要组合成一个对象,只需组合在视觉显示中即可。


更新 1. 这是一个使用的示例plyr。诚然,结果相当粗糙 - 列表和列表元素的名称没有被保留,这并不难修复,但我怀疑可以做得比这更好。我可以像 R 通常打印列表一样打印列表,但以某种方式分隔窗口。我怀疑这并不容易。

combineLists <- function(manyLists){
    library(plyr)
    newLists <- list()
    for(ixList in 1:length(manyLists)){
        tmpList <- lapply(manyLists[[ixList]], paste, sep = "", collapse = ", ")
        tmpVec  <- as.character(tmpList)
        newLists[[ixList]] <- tmpVec
    }
    newDF   <- t(ldply(newLists))
    return(newDF)
}

combineLists(list(l1, l2, l3))

结合一些capture.output, lapply, gsub and format放入容器中。使用do.call作为粘合剂。添加paste去尝尝。让它煮一会儿:

sidebyside <- function(..., width=60){
  l <- list(...)
  p <- lapply(l, function(x){
        xx <- capture.output(print(x, width=width))
        xx <- gsub("\"", "", xx)
        format(xx, justify="left", width=width)
      }
  )
  p <- do.call(cbind, p)
  sapply(seq_len(nrow(p)), function(x)paste(p[x, ], collapse=""))
}

这将治愈一切:

sidebyside(l1, l2, l3, width=30)

 [1] "$e1                           $e1                           $e1                                              "
 [2] "[1] R                         [1] Perl                      [1] Matlab                                       "
 [3] "                                                                                                             "
 [4] "$e2                           $e2                           $e2                                              "
 [5] "$e2[[1]]                      $e2[[1]]                      $e2[[1]]                                         "
 [6] "[1] statistics                [1] text processing           [1] numerical computing                          "
 [7] "                                                                                                             "
 [8] "$e2[[2]]                      $e2[[2]]                      $e2[[2]]                                         "
 [9] "[1] visualization             [1] scripting                 [1] simulation                                   "
[10] "                                                                                                             "
[11] "                                                                                                             "
[12] "$e3                           $e3                           $e3                                              "
[13] "[1] 0                         [1] 0                         [1] academic - unknown     professional - unknown"
[14] "                                                                                                             "
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中并排显示列表 - 列表的“cbind”? 的相关文章

  • 将非平凡函数应用于 data.table 的有序子集

    Problem 我正在尝试使用我新发现的 data table 功能 永久 来计算一堆数据的频率内容 如下所示 Sample Channel Trial Voltage Class Subject 1 1 1 196 82253 1 1 1
  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11
  • 如何处理重叠的因子水平? (例如,生成表格和图表时)

    我面临一个数据集的问题重叠因素水平 我想按因素级别生成时间线 条形图和统计数据 但是 我希望因子水平是模棱两可的 这意味着属于多个级别的观察结果应该在图中出现多次 这是我的数据结构的示例 head lt c ID YEAR BRAZIL G
  • 使用facet时ggplot2控制每行的面板数量?

    Is it possible to control the number of panels per row in a ggplot I can only get an equal number of panels on each row
  • 使用 Rcpp 得出斐波那契数列的意外结果

    我刚刚开始使用Rcpp很抱歉 如果我错过了一个简单的步骤或类似的东西 我已经尝试过这个 sourceCpp library Rcpp sourceCpp code include
  • 使用列表中的数据框:删除变量,添加新变量

    定义一个列表dats有两个数据框 df1 and df2 dats lt list df1 data frame a sample 1 3 b sample 11 13 df2 data frame a sample 1 3 b sampl
  • 从 Cox PH 模型预测概率

    我正在尝试使用 cox 模型来预测时间 称为停止 3 后失败的概率 bladder1 lt bladder bladder enum lt 5 coxmodel coxph Surv stop event rx size number cl
  • 网页抓取(R 语言?)

    我想获取中间栏中的公司名称this http www consumercomplaints in bysubcategory mobile service providers page 1 html页面 以蓝色粗体书写 以及登记投诉者的位置
  • 为什么 rbind 会抛出警告

    这与是否有更优雅的方法将不规则的数据转换为整洁的数据框 https stackoverflow com questions 25102617 are there more elegant ways to transform ragged d
  • 如何从类外部更改公共 R6 类方法?

    我希望能够在我的 R6 类中重新定义公共方法 以便它根据该类保存的数据类型进行更改 如下所示 library R6 Simple lt R6Class Simple public list dt mtcars my print functi
  • 将函数应用于每个列组合

    我有一个数据框n列并希望对每个列应用一个函数组合列 这与如何cor 函数将数据帧作为输入并生成相关矩阵作为输出 例如 X lt data frame A rnorm 100 B rnorm 100 C rnorm 100 cor X 这将生
  • 使用另一个对象数组过滤对象数组

    这个问题与这个问题类似Jquery 过滤带循环的对象数组 https stackoverflow com questions 30998424 jquery filter array of object with loop但这次我需要使用对
  • 为格子中的每个面板添加不同的独特标签

    很清楚如何在格子中标记面板 https stackoverflow com questions 8508269 how to label panels in lattice using panel text or ltext论据 但是 如果
  • 当添加列较少时追加到现有 SQLite 表,而不将数据库读入 R

    是否有一些简单的方法 无论是在 SQL 端还是在 R 端 将 data frame 附加到具有更多列的现有表 缺失的列应该用 NA 填充 如果它能够优雅地处理比表 1 列数更多的表 2 那么会加分吗 library RSQLite Crea
  • 创建后修改 ggplot 对象

    有没有首选的修改方式ggplot创建后的对象 例如 我建议我的学生将 r 对象与 pdf 文件一起保存以供以后更改 library ggplot2 graph lt ggplot mtcars aes x mpg y qsec fill c
  • R中的等值线绘图问题

    编辑 我已经意识到问题的根源 我只有我有数据的县的计数信息 该信息少于我正在绘制的区域中的县数量 按理说 问题代码行在这里 mapnames lt map county plot FALSE 4 names colorsmatched lt
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • 粘贴两个 data.table 列

    dt lt data table L 1 5 A letters 7 11 B letters 12 16 L A B 1 1 g l 2 2 h m 3 3 i n 4 4 j o 5 5 k p 现在我想粘贴列 A 和 B 以获得一个新
  • 如何按字段对列表进行排序

    美好的一天 4 你们大家 我有一个对象列表 我的对象喜欢 Product iPhone Category SmartPhone Product HP Category PC Product HTC Category SmartPhone 我
  • python 中的基本矩阵转置

    我尝试了 python 中矩阵转置的最基本方法 但是 我没有得到所需的结果 接下来是代码 A 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 print A def TS A B A for i in range len A

随机推荐

  • SymPy 的多彩图

    我试图在 SymPy 中绘制函数 x 2 的图 并希望用线 x 3 y 9 覆盖它 然后在某些点周围画一个圆 我已经用代码完成了上述所有操作 import sympy as sp x sp Symbol x first plot the f
  • 如何配置 Android sdkmanager 命令行工具以使用自定义存储库?

    是否可以配置 Google 的 Android sdkmanager 通过自定义存储库而不是下载依赖项dl google com android repository 背景 我正在公司防火墙后面设置 Android 构建代理 无法直接访问
  • Python:导入模块

    假设我有一个 python 模型fibo py定义如下 Fibonacci numbers module print This is a statement def fib n a b 0 1 while b lt n print b a
  • Wix 安装程序 - 根据属性创建文件夹层次结构

    我在用Wix 3 6 http wixtoolset org 创建一个设置 我仍在不断学习 那里的信息仍然分散 我正在等待我的 Wix 开发人员指南书到达 我目前有一个自定义 UI 对话框 用户可以在其中输入一些应用程序配置 该配置的一部分
  • 创建 IIS 网站的代码

    我需要以编程方式创建一个 IIS 网站 有人可以告诉我执行此操作的代码吗 请不要使用 WMI DirectoryEntry 如果可能的话 当目标是 IIS 7 或更高版本时 有一个API叫做ServerManager http msdn m
  • 为什么创建文件夹后不存在?

    这似乎没有意义 所以我显然做错了什么 DirectoryInfo folder new DirectoryInfo Environment CurrentDirectory Test if folder Exists false folde
  • 当用户向下滚动时显示内容

    您好 请检查此网站 您会看到向下滚动时会自动加载下一个内容 http wallbase net search http wallbase net search 我用谷歌搜索过但找不到它的名字 有例子 教程吗 您可以使用无限滚动 jQuery
  • 添加 NOT LIKE 条件后查询返回的结果太少

    我的 Access 2010 数据库在我稍微更改用户请求的查询时表现得很奇怪 我有一个非常大的表 不要问 查询在其上运 行 然后提供给用户输入表单 不管怎样 今天 一种特殊的形式开始返回的结果比我们预期的要少得多 它通常会返回大约 1200
  • NSURLSession:后台上传然后调用服务api

    我试图使用新的 ios7 后台传输 api 将一些照片上传到服务器 现在发生的是 1 我们将字节上传到s3 2 调用服务api来 完成 上传 我查看了这个文档 似乎背景 NSURLSession 不支持 数据 任务 这是否意味着实际上传完成
  • WCF:在 IErrorHandler 中提供通用的FaultException

    一些上下文 我们有一个自定义 XSD 并使用 WSCF blue 生成 WSDL 和 C 代码 客户端使用ChannelFactory
  • Redux Connect w/ HOC - TypeError:无法设置未定义的属性“props”

    我正在 Next js 中构建快速身份验证高阶组件 但在使用以下代码时遇到了一些问题 import SignIn from components sign in import connect from react redux import
  • iOS - 架构 i386 的 3 个重复符号

    我在理解链接器命令错误时遇到问题 我收到以下信息 duplicate symbol OBJC IVAR XYZAddToDoItemViewController toDoItem in Users Library Developer Xco
  • WindowFromPhysicalPoint 和 WindowFromPoint 之间有什么区别?

    WindowFromPhysicalPoint http msdn microsoft com en us library aa969270 aspx是 Vista 中的新功能 它的文档几乎与WindowFromPoint http msd
  • 如何获取请求Referer路径?

    我需要引用者的路径 我不想要域名 例如 如果引用者是http www google com adsense I want adsense request referer返回一个字符串 但您可以使用Ruby 的 URI 模块 http www
  • Three.js 通过加载模型上的材质名称为材质添加边框

    是否可以在材料周围添加边框 如图所示 我可以通过以下代码设置材质颜色 object traverse function child if child instanceof THREE Mesh child material color se
  • OCUnit 测试在未测试的类中给出错误

    我编写了一个 OCUnit 测试 在 Xcode 3 2 中运行良好 现在在 Xcode 4 中遇到问题 它测试单个静态函数X在班上A 它不调用任何类或函数 库函数之外 唯一需要调用的其他代码是静态构造函数 它初始化两个静态变量 但同样 这
  • init的目的是什么!初始化器失败?

    Apple Swift 编程语言指南提到了 init 的存在 初始化程序 但没有提供任何示例 搜索初始化 在此页面中 https developer apple com library ios documentation swift con
  • 如何保持 Google App Engine 的运行实例

    谷歌应用程序引擎和开发人员控制台似乎又发生了变化 我不知道如何保持谷歌应用程序引擎的实例运行 即使该网站是偶像 应用程序引擎设置下曾经有一个滑块 但现在已经不存在了 我认为在 Google Speak 中我有动态实例 并且我需要一个常驻实例
  • 如何使用 Django 发布和检索 blob

    我有一个blob 这是我使用调整大小的图像
  • 如何在 R 中并排显示列表 - 列表的“cbind”?

    我希望利用我的屏幕空间并排查看几个简单的列表 我并不是想把它们结合起来 a lacbind 但我不介意是否创建一个新的中间结构 当然 要意识到一个列表可能有许多不同类型的对象 尽管我几乎保证我的列表具有相同的结构 如果有必要让事情正常工作