【问题标题】:How to get vector of index of list in R如何在R中获取列表索引的向量
【发布时间】:2017-02-28 02:44:11
【问题描述】:

我尝试获取列表的索引,例如set_of_paragraphs("Two sample t-test",list_new2[[1]], list_new2[[2]],list_new2[[3]],list_new2[[4]])...等等。

library(ReporteRs)
list_new <- c("Text1","Text2","String","Another Text")
my_text <- letters[1:length(list_new)]
list_new1 <- paste0(my_text, list_new,sep="")
list_new2 <- lapply(list_new1, function(i) pot(substr(i,1,1),textProperties(color="blue",vertical.align="superscript"))+substring(i,2))

函数set_of_paragraphs 仅在我列出列表中的所有索引时才有效

set_of_paragraphs("Two sample t-test",list_new2[[1]], list_new2[[2]],list_new2[[3]],list_new2[[4]])

我尝试这样做,set_of_paragraphs 给我错误

Error in set_of_paragraphs(l, list_new2) : set_of_paragraphs can only contains pot objects.

l <- list("Two sample t-test")
set_of_paragraphs(l,list_new2)

所以对我来说最好的方法是把它们都列出来像这段代码set_of_paragraphs("Two sample t-test",list_new2[[1]], list_new2[[2]],list_new2[[3]],list_new2[[4]]),但问题是,我有这么多,有什么方法可以写循环或应用到访问索引。

【问题讨论】:

    标签: r for-loop apply


    【解决方案1】:

    如果你想调用一个带有参数列表的函数,你可以使用do.call。试试

    l <- list("Two sample t-test")
    do.call("set_of_paragraphs" c(l, list_new2))
    

    这相当于

    set_of_paragraphs(l[[1], list_new2[[1]], list_new2[[2]], list_new2[[3]], ...)
    

    (我无法测试,因为那个包似乎需要我没有安装的Java。)基本上你把所有的参数放在一个大列表中(这里我使用c() 加入两个列表)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-09
      • 2019-02-13
      • 2016-02-03
      • 2014-09-16
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 2015-11-16
      相关资源
      最近更新 更多