我正在使用R tm软件包,试图将我的语料库拆分为训练集和测试集,并将其编码为用于选择的元数据。最简单的方法是什么(假设我试图将样本分成两半)?R tm语料库对象的拆分示例
这里有一些事情我已经试过:
- 我知道,当我键入...
> meta(d) MetaID Y 1 0 1 2 0 1
我看到ID,但似乎无法访问他们(为了说上半场属于一组,而第二组属于另一组)。 rownames(attributes(d)$DMetaData)
给了我指数,但这看起来很丑,而且它们是因素。
- 现在,转换成数据帧后,说d是我的数据集,我只想说:
half <- floor(dim(d)[1]/2) d$train <- d[1:half,] d$test <- d[(half+1):(half*2),]
但我怎么能轻易做这样的事情......
meta(d, tag="split") = ifelse((meta(d,"ID")<=floor(length(d)/2)),"train","test")
...得到如下结果:
> meta(d) MetaID Y split 1 0 1 train 2 0 1 train ... . . ... 100 0 1 test
不幸的是,meta(d,"ID")
不起作用,但meta(d[[1]],"ID") == 1
的做法,但是多余的。我正在寻找一种访问元ID的全矢量方法,或者一种通常更智能的子集分配方式,并将其分配给“split”元变量。
+1虽然我会说这是一个列表不是矩阵。 – 2014-03-10 04:45:45
@TylerRinker谢谢。我编辑我的答复反映你的评论。 – agstudy 2014-03-10 22:51:47