これは、メタデータを転送および拡張しながら、 1 つPlainTextDocument
を複数の子に解析することを目的としています。PlainTextDocument
segment_doc <- function(doc) {
txt = paste0(doc, collapse=' ')
au <- meta(doc, tag='Author');
desc <- meta(doc, tag='description');
ori <- meta(doc, tag='origin');
locmeta <- attr(doc,'LocalMetaData');
function(df){
dfrows <- nrow(df);
v<-rep(NA,dfrows);
for(i in 1:dfrows) {
a <- df[i,'after'];
b <- df[i, 'before'];
m <- df[i, 'meta'];
sec <-PlainTextDocument(mkmeta(b, a, txt), author= au, description=desc, origin=ori, heading = m, localmetadata= locmeta)
#verified using debug that sec is a 'PlainTextDocument' with the expected text and metadata
v[i]=sec;
}
v #should be a vector of PlainTextDocuments, BUT it is vector of character vectors. WHY??
}
}
次のように使用できます。
# mycorpus is a Corpus object containing PlainTextDocuments
# sections is a data.frame with 3 columns of type character named 'before', 'after' and 'meta' and 6 rows
sectioner <- segment_doc(mycorpus[[1]]);
ptv <- sectioner(sections); #expect a vector of 6 PlainTextDocuments
class(ptv);
[1] "character"
length(ptv);
[1] 6
質問
- ベクトルに配置すると、オブジェクトから文字ベクトルに
sec
変換されるのはなぜですか?PlainTextDocument
- どうすればオブジェクトを
sectioner
返すことができますか?Corpus
(PlainTextDocument
s のベクトルでも問題ありません)。
のドキュメントを読みましたtm
。はい、全部です。これはそれほど難しいことではありません。私が使用すべき別のアプローチはありますか?