指示通过函数迭代:
ListBox
在下面找到我遇到错误的代码部分。如果index_map是唯一列表(没有变量x),则这是一种有效的格式。我的目标是根据index_list的索引进行合并。尝试这样做时,我得到了以下错误。
input_list <- list (list(c(1,2,3),c(4,5,6)),list(c(7,8,9),c(10,11,12)))
# data.table :: CJ is a fast expand.grid
library ( data.table )
total_value <- 28
fun <- function (x) do.call (CJ , input_list[[x]]) # get all combinations
DT <- lapply ( seq ( length ( input_list )) , fun )
fun <- function (x) DT[[x]] [rowSums (DT[[x]]) == total_value ]
values <- lapply ( seq ( length ( DT )) , fun )
fun <- function (x) lapply(input_list[[x]],function(a) data.table(a,seq_along (a)))
index_map <- lapply (seq(length(input_list)),fun)
fun <- function(x) lapply (names (values[[x]]),function (b) c(b,sub("V", "index",b)))
nams <- lapply(seq(length(values)),fun)
fun <- function(x)Map(setnames,index_map[[x]],nams[[x]] )
lapply(seq(length(index_map)),fun)
我的理解是,我没有足够地指示循环迭代形成索引映射的两个子列表。我的目标是能够在input_list中映射导致total_value的索引。我已经查看了其他帖子,其中循环被嵌入式函数替换但是如果这是足够的格式,我无法正确指示。你碰巧知道我怎么能指导这个。
答案 0 :(得分:0)
V1
应显示列list
的类型为list
。类型list
表示列中的每个单元格都可以是任何单元格;例如不同长度的矢量,其他嵌入的data.table,任何R对象,函数等
查看该列,看看它是否真的应该是vector
类型。可能它应该是integer
;例如numeric
,character
或DT[,V1:=unlist(V1)]
向量。如果是,请对其list
进行操作。理想情况下,请避免首先创建list
列。 MTLRenderCommandEncoder setDepthBias:slopeScale:clamp:
类型对于值列非常有用,但对于连接列则不实用。