这是我的清单:
mylist=dput(mylist)
list(list(c(30, 50, 35, 25, 45), c(40, 35, 35, 50, 45), c(40,
20, 40, 50, 25), c(35, 45, 45, 45, 40), c(20, 30, 50, 45, 20),
c(40, 40, 50, 30, 40)), list(c(50, 50, 25, 40, 45, 40, 35,
40, 45, 20), c(40, 35, 40, 40, 45, 30, 20, 50, 35, 25), c(20,
30, 50, 35, 45, 40, 25, 50, 35, 50), c(20, 35, 30, 25, 40, 30,
50, 20, 25, 35), c(40, 25, 25, 20, 50, 30, 50, 40, 35, 35), c(50,
20, 45, 35, 50, 45, 30, 45, 35, 50)), list(c(45, 50, 25, 25,
30, 25, 35, 35, 35, 30, 50, 50, 30, 30, 20), c(40, 20, 35, 35,
50, 20, 25, 30, 35, 20, 40, 20, 45, 30, 20), c(50, 20, 25, 35,
35, 30, 50, 25, 40, 35, 45, 45, 35, 45, 25), c(50, 50, 25, 35,
25, 35, 20, 25, 45, 40, 35, 40, 50, 40, 30), c(50, 25, 20, 30,
40, 45, 40, 50, 35, 40, 30, 45, 35, 50, 40), c(35, 50, 35, 45,
25, 40, 50, 40, 50, 50, 50, 50, 35, 35, 40)), list(c(50, 50,
50, 40, 20, 25, 50, 40, 50, 50, 45, 40, 30, 50, 35, 45, 50, 30,
35, 45), c(45, 20, 25, 20, 25, 30, 20, 30, 45, 25, 50, 30, 30,
25, 50, 45, 20, 45, 45, 50), c(20, 40, 50, 25, 40, 45, 25, 30,
20, 20, 35, 45, 20, 40, 50, 45, 40, 40, 45, 35), c(40, 40, 20,
25, 50, 50, 35, 45, 50, 45, 50, 35, 30, 40, 35, 45, 25, 45, 45,
25), c(20, 25, 35, 45, 35, 40, 40, 35, 35, 40, 30, 30, 40, 50,
25, 40, 30, 25, 20, 40)), list(c(35, 25, 45, 20, 25, 30, 30,
35, 30, 40, 30, 20, 20, 30, 45, 40, 35, 35, 35, 35, 25, 45, 35,
20, 50), c(50, 35, 30, 30, 35, 45, 45, 50, 25, 25, 40, 25, 50,
45, 25, 30, 30, 25, 45, 45, 30, 20, 50, 30, 30), c(35, 40, 50,
25, 40, 45, 30, 25, 50, 25, 35, 50, 50, 50, 25, 50, 20, 50, 40,
25, 25, 35, 20, 20, 50), c(40, 35, 35, 40, 50, 35, 25, 40, 25,
25, 30, 45, 50, 35, 20, 50, 20, 20, 45, 50, 40, 30, 35, 50, 45
), c(40, 25, 50, 50, 20, 50, 25, 50, 40, 30, 30, 50, 45, 45,
40, 45, 20, 20, 45, 35, 45, 50, 40, 40, 35), c(40, 45, 35, 35,
30, 45, 40, 40, 20, 50, 50, 45, 40, 40, 45, 45, 35, 40, 20, 30,
35, 45, 30, 50, 25)))在每个mylist[[1]][[1]],mylist[[1]][[2]],mylist[[3]][[1]],mylist[[1]][[4]],mylist[[1]][[5]],mylist[[1]][[6]] (直到mylist[[5]][[6]]位置)位置,我想运行一个ADF测试,并使用Lapply函数提取它的p值。
为此,我创建了一个结果列表,并运行以下代码:
resultlist<-vector(mode = "list", 5)
# library( _enter_name_of_package )
resultlist <- lapply(mylist,
function(x)
lapply(x, function(y) rep(adf.test(mylist)$p.value(y), length(y))))它不起作用。这将是维护lapply结构代码的基本方法。
我可以通过这样做来提取平均值(即使给我重复的值,这也不是问题)
resultlist <- lapply(mylist, function(x) lapply(x, function(y) rep(mean(y), length(y))))记住这段代码后,我想运行ADF测试并提取pvalue。
发布于 2018-08-28 06:49:19
通常,如果要将函数(此处为myfun)应用于列表列表(此处为mylist)的每个元素,则执行以下操作:
lapply(mylist, lapply, myfun)这将返回一个列表结果,您可以使用unlist将其转换为向量。
我不确定您正在为特定的应用程序使用哪个adf.test函数,因为在tseries和aTSA包(可能还有其他包)中都有一个同名的函数。无论如何,解决方案将如下所示:
lapply(mylist, lapply, function(x) adf.test(x)$p.value)https://stackoverflow.com/questions/52047763
复制相似问题