Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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 - Fatal编程技术网

R 索引联接列表

R 索引联接列表,r,R,一旦列表开始变得有点嵌套,我就更难处理它们了(我认为其他人也可能难以处理嵌套列表)。我有一个列表,我想以某种格式把它们放在一起。下面是列表的一个示例: ms2 <- list(list(" question", c(" thin", " thick"), " one", c(" simple", " big")), list(" infer", " theme", c(" strategy", " guess", " inform" ), c(" big", " idea", " fee

一旦列表开始变得有点嵌套,我就更难处理它们了(我认为其他人也可能难以处理嵌套列表)。我有一个列表,我想以某种格式把它们放在一起。下面是列表的一个示例:

ms2 <- list(list(" question", c(" thin", " thick"), " one", c(" simple", 
" big")), list(" infer", " theme", c(" strategy", " guess", " inform"
), c(" big", " idea", " feel", " one")), list(
    "synthesi", c(" predict", " thin", " thick", " parts", " visual", 
    " determin", " schema", " connect", " background", " knowledge", 
    " strategy", " infer", " question", " importance"), NA_character_, 
    c(" things", " picture")), list(" visual", " strategy", " picture", 
    NA_character_), list(" question", " wonder", c(" them", " one"
), NA_character_), list(" predict", NA_character_, c(" think", 
" guess", " wonder"), NA_character_))

像这样的东西怎么样:

slice.it <- function(i,x) {
   slice <- lapply(x, `[[`, i)
   words <- unlist(slice)
   words <- words[!is.na(words)]
}

lapply(1:4, slice.it, ms2[1:3])
# [[1]]
# [1] " question" " infer"    "synthesi" 

# [[2]]
#  [1] " thin"       " thick"      " theme"      " predict"    " thin"      
#  [6] " thick"      " parts"      " visual"     " determin"   " schema"    
# [11] " connect"    " background" " knowledge"  " strategy"   " infer"     
# [16] " question"   " importance"

# [[3]]
# [1] " one"      " strategy" " guess"    " inform"  

# [[4]]
# [1] " simple"  " big"     " big"     " idea"    " feel"    " one"     " things" 
# [8] " picture"

slice.it像这样的东西怎么样:

slice.it <- function(i,x) {
   slice <- lapply(x, `[[`, i)
   words <- unlist(slice)
   words <- words[!is.na(words)]
}

lapply(1:4, slice.it, ms2[1:3])
# [[1]]
# [1] " question" " infer"    "synthesi" 

# [[2]]
#  [1] " thin"       " thick"      " theme"      " predict"    " thin"      
#  [6] " thick"      " parts"      " visual"     " determin"   " schema"    
# [11] " connect"    " background" " knowledge"  " strategy"   " infer"     
# [16] " question"   " importance"

# [[3]]
# [1] " one"      " strategy" " guess"    " inform"  

# [[4]]
# [1] " simple"  " big"     " big"     " idea"    " feel"    " one"     " things" 
# [8] " picture"

slice.it这与您给出的输出非常接近。区别在于我没有删除输入中所有单词的前导空格。如果删除前导空格,则结果的第二个元素中不会同时包含“策略”和“策略”

lapply(1:4, function(i) {
    unique(na.omit(unlist(lapply(ms2, "[", i)[1:4])))
})
#[[1]]
#[1] " question" " infer"    "synthesi"  " visual"  
#
#[[2]]
#[1] " thin"       " thick"      " theme"      " predict"    " parts"     
#[6] " visual"     " determin"   " schema"     " connect"    " background"
#[11] " knowledge"  " strategy"   " infer"      " question"   " importance"
#
#[[3]]
#[1] " one"      " strategy" " guess"    " inform"   " picture" 
#
#[[4]]
#[1] " simple"  " big"     " idea"    " feel"    " one"     " things"  " picture"

这与您给出的输出非常接近。区别在于我没有删除输入中所有单词的前导空格。如果删除前导空格,则结果的第二个元素中不会同时包含“策略”和“策略”

lapply(1:4, function(i) {
    unique(na.omit(unlist(lapply(ms2, "[", i)[1:4])))
})
#[[1]]
#[1] " question" " infer"    "synthesi"  " visual"  
#
#[[2]]
#[1] " thin"       " thick"      " theme"      " predict"    " parts"     
#[6] " visual"     " determin"   " schema"     " connect"    " background"
#[11] " knowledge"  " strategy"   " infer"      " question"   " importance"
#
#[[3]]
#[1] " one"      " strategy" " guess"    " inform"   " picture" 
#
#[[4]]
#[1] " simple"  " big"     " idea"    " feel"    " one"     " things"  " picture"

你给出的结果似乎与你想要的描述不符。这一点很难解释。你们都明白了。我本不该解释的,因为我知道我做得不好。我的示例实际上包含了太多的一个(1:4而不是1:3)。请注意,输出中的解释是关闭的:(你给出的输出似乎与你想要的描述不匹配。这一个更难解释。但你们都明白了。我本不应该解释它,因为我知道我做得不好。我的示例实际上包含了太多的一个(1:4,而不是1:3)。请注意,输出上的解释是错误的:(这两个例子都是有效的,而且都是可归纳的。就我的理解而言,这个答案更容易理解,因为它将每一部分都分解了。有趣的是,我在解释时做得很差,但给出了一个错误的例子(正如GSee所指出的)但你还是设法弄明白了我想要什么。这两个例子都有效而且可以概括。就我的理解而言,这个答案更容易理解,因为它把每一部分都分解了。有趣的是,我在解释方面做得很差,却给出了一个错误的例子(正如GSee所指出的)但是你还是设法弄明白了我想要什么。你是对的,我的描述与我的输出不匹配。我很抱歉。尽管你和弗洛德尔都提供了可以概括的答案。+1太好了。很高兴你弄明白了。这里有一个稍微不同的语法,它将给出与@Flodel相同的输出:
lappy(1:4,函数(I){x您是对的,我的描述与我的输出不匹配。我很抱歉。尽管您和Flodel都提供了可归纳的答案。+1很好。很高兴您找到了答案。这里有一个稍微不同的语法,它将提供与@Flodel相同的输出:
lappy(1:4,函数(i){x