【发布时间】:2015-12-16 20:26:25
【问题描述】:
我需要应用一系列形式为 (a*x +b+ c) 的函数 嵌套列表,例如如下形式
map_function <- function(x,y){
return(linear_function(x[1],x[2],x[3],y))
}
linear_function <- function(x1,x2,x3,y){
g <- sapply(y, function(x){x1*x+x2+x3})%>% min(.)
return(g)
}
超过两个列表,例如这样当 map_function 传递给所有参数时
pr_list <- list(c(1,2,3),c(4,5,6)) and
f_list <- list(c(234,34),c(456,34,567),c(111,222))
它将生成一个 3 个嵌套列表/矩阵,每个包含 2 个值。除了使用for 循环之外,还有什么 R 方法?
例如如果输出是矩阵,则元素的示例将是
M11 <- linear_function(pr_list[[1]][1],pr_list[[1]][2],pr_list[[1]][3],f_list[[1]] )
M12 <- linear_function(pr_list[[1]][1],pr_list[[1]][2],pr_list[[1]][3],f_list[[2]] )
M13 <- linear_function(pr_list[[1]][1],pr_list[[1]][2],pr_list[[1]][3],f_list[[3]] )
M21 <- linear_function(pr_list[[2]][1],pr_list[[2]][2],pr_list[[2]][3],f_list[[1]] )
M22 <- linear_function(pr_list[[2]][1],pr_list[[2]][2],pr_list[[2]][3],f_list[[2]] )
M23 <- linear_function(pr_list[[2]][1],pr_list[[2]][2],pr_list[[2]][3],f_list[[3]] )
M <- list(c(M11,M21),c(M12,M22),c(M13,M23))
print(M)
[[1]]
[1] 39 147
[[2]]
[1] 39 147
[[3]]
[1] 116 455
【问题讨论】:
-
嘿,pr_list 和 f_list 是什么?
-
你能举一个你试图生成的输出的例子吗?
-
f_list[[1]] 是一个包含 2 个元素的列表。 linear_function 应该返回 4 个值吗?
-
linear_function 将返回 2 个值 M11 和 M21
-
我仍然不理解您的示例输入和输出。你能更具体地举个例子吗?