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