gpt4 book ai didi

r - 在 Markdown 中将列表对象转换为无序列表

转载 作者:行者123 更新时间:2023-12-04 17:30:13 30 4
gpt4 key购买 nike

我有一个包含字符向量的列表。我想在 RMarkdown 文档中创建一个无序列表。我试图通过遍历列表并将输出粘贴到 Markdown 列表中来完成此操作。在 knitr打印结果 'asis' .这是一个玩具示例。

test <- list(x = c('a', 'b', 'c'), y = c('d', 'e'))

我想创建一个这样的无序列表:
- x
- a
- b
- c
- y
- d
- e

我尝试将 for 循环与 cat 结合使用来做到这一点。和 paste0 .
cols <- names(test)

for (columns in names(test)) {
cat(paste0("- ", names(test[columns]), '\n', ' ',
"- ", test[[cols[columns]]], '\n'))
}

哪个输出”
- x
-
- y
-

我希望得到一些帮助来获得我上面描述的所需的无序列表。

最佳答案

这是一个不需要循环的解决方案。 List 和 yaml 文件很相似,所以你可以把它转换成 yaml(稍微修改一下)和 cat .

test <- list(A = c("a", "b", "c"), B = c("d", "e"), C = 1:5)
cat(gsub("^!omap\n|:", "", yaml::as.yaml(test, omap = TRUE)))

解释:
  • 使用 as.yaml 将列表转换为有序的 yaml函数来自 yaml package .
  • 使用 gsub 删除 omap header .
  • cat结果。

  • enter image description here

    你也可以把它放在一个自定义函数中,这样你就不会泛滥代码:
    catList <- function(inputList) {
    cat(gsub("^!omap\n|:", "", yaml::as.yaml(inputList, omap = TRUE)))
    }
    catList(test)

    关于r - 在 Markdown 中将列表对象转换为无序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52335498/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com