我正在使用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