我尝试获取列表索引,例如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]])
,但问题是,我有这么多,有任何方法可以编写循环或应用于访问索引。
答案 0 :(得分:2)
如果要使用参数列表调用函数,可以使用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()
加入两个列表)。