r - 如何展平列表列表?

标签 r list tm

tm套餐延长c这样,如果给定一组 PlainTextDocument它会自动创建一个 Corpus 。不幸的是,似乎每个 PlainTextDocument必须单独指定。

例如如果我有:

foolist <- list(a, b, c); # where a,b,c are PlainTextDocument objects

我这样做是为了得到 Corpus :

foocorpus <- c(foolist[[1]], foolist[[2]], foolist[[3]]);

我有一个列表列表 'PlainTextDocument看起来像这样:

> str(sectioned)
List of 154
 $ :List of 6
  ..$ :Classes 'PlainTextDocument', 'TextDocument', 'character'  atomic [1:1] Developing assessment models   Developing models
  .. .. ..- attr(*, "Author")= chr "John Smith"
  .. .. ..- attr(*, "DateTimeStamp")= POSIXlt[1:1], format: "2013-04-30 12:03:49"
  .. .. ..- attr(*, "Description")= chr(0) 
  .. .. ..- attr(*, "Heading")= chr "Research Focus"
  .. .. ..- attr(*, "ID")= chr(0) 
  .. .. ..- attr(*, "Language")= chr(0) 
  .. .. ..- attr(*, "LocalMetaData")=List of 4
  .. .. .. ..$ foo           : chr "bar"
  .. .. .. ..$ classification: chr "Technician"
  .. .. .. ..$ team          : chr ""
  .. .. .. ..$ supervisor    : chr "Bill Jones"
  .. .. ..- attr(*, "Origin")= chr "Smith-John_e.txt"

#etc., all sublists have 6 elements

所以,要得到我所有的PlainTextDocument进入 Corpus ,这会起作用:

sectioned.Corpus <- c(sectioned[[1]][[1]], sectioned[[1]][[2]], ..., sectioned[[154]][[6]])

有人可以建议一个更简单的方法吗?

预计到达时间:foo<-unlist(foolist, recursive=FALSE)生成一个 PlainTextDocuments 的平面列表,这仍然给我留下了将列表逐个元素输入到 c 的问题。

最佳答案

我希望 unlist(foolist) 会对您有所帮助。它有一个选项recursive,默认情况下为TRUE

因此 unlist(foolist, recursive = FALSE) 将返回文档列表,然后您可以通过以下方式组合它们:

do.call(c, unlist(foolist, recursive=FALSE))

do.call 只是将函数 c 应用于获取的列表的元素

关于r - 如何展平列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300344/

相关文章:

r - tm.package : findAssocs vs Cosine

tm - stemCompletion无法正常工作

r - 如何在 R 中有条件地粘贴因子标签

java - 在 Java 中执行 R 命令以从 PostgreSQL 访问数据并进行计算时出错

python - 在 Python 中创建具有重复值的整数列表

python - 在 python 中是否有类似 .replace() 的方法?

java - 如何将数组列表从Java传递到R并进行数据质量检查?

r - R中的西里尔文编码输出

r - 防止数据框列表中的名称消失

r - 如何从csv文件中读取表格中的文本