私はRtmパッケージを使用して、コーパスをトレーニングセットとテストセットに分割し、これを選択のためにメタデータにエンコードしようとしています。これを行う最も簡単な方法は何ですか(サンプルを半分に分割しようとしていると仮定します)?
これが私が試したいくつかのことです:
- 私がタイプするとき、私はそれを知っています...
> 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にアクセスするベクトル全体の方法、または「分割」メタ変数にサブセット化して割り当てる一般的にスマートな方法を探しています。