Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 不同长度向量列表中的匹配编号_R_List_Match - Fatal编程技术网

R 不同长度向量列表中的匹配编号

R 不同长度向量列表中的匹配编号,r,list,match,R,List,Match,我想在包含不同长度向量的列表中匹配一个数字。我的解决方案(如下)仍然不匹配每个向量的第一项之外的任何内容 seq_ <- seq(1:10) list_ <- list(seq_[1:3], seq_[4:7], seq_[8:10]) list_ # [[1]] # [1] 1 2 3 # # [[2]] # [1] 4 5 6 7 # # [[3]] # [1] 8 9 10 在一般情况下,您可能会更喜欢,如 编辑:重写以显示完整的循环值 seq_ <

我想在包含不同长度向量的列表中匹配一个数字。我的解决方案(如下)仍然不匹配每个向量的第一项之外的任何内容

seq_ <- seq(1:10)
list_ <- list(seq_[1:3], seq_[4:7], seq_[8:10])
list_ 
#  [[1]]
#  [1] 1 2 3
# 
#  [[2]]
#  [1] 4 5 6 7
# 
# [[3]]
#  [1]  8  9 10

在一般情况下,您可能会更喜欢
,如

编辑:重写以显示完整的循环值

seq_ <- seq(1:10)
list_ <- list(seq_[1:3], seq_[4:7], seq_[8:10])
matchlist<-list(length=length(list_))
    for( j in 1:length(list_)) {
       matchlist[[j]] <-  unlist(sapply(seq_, function(k) which(list_[[j]]==k) ))
    }

什么是
t0
?您希望获得什么输出?请给我们一个例子。如果对于每个
i
你想要一个列表(不是一个向量,因为在
list\u
中可能有超过1个)它的位置,那么你想要的是:
lappy(seq\u,function(i)lappy(list\u,function(elems)match(i,elems))
。关键是:您需要一个嵌套循环,而不能与列表匹配。如果您还需要什么,请尝试清楚地表述出来。@gagolews抱歉,我重新编辑了代码。这对我不起作用。你还忘了一个括号。
seq_ <- seq(1:10)
list_ <- list(seq_[1:3], seq_[4:7], seq_[8:10])
matchlist<-list(length=length(list_))
    for( j in 1:length(list_)) {
       matchlist[[j]] <-  unlist(sapply(seq_, function(k) which(list_[[j]]==k) ))
    }