1

次の形式の関数出力(koRpusから)があります:トークンの総数:887タイプの総数:393

テキストの語彙の多様性の測定MTLD:142.66因子の数:6.22因子のサイズ:0.72 SDトークン/因子:41.55(すべての因子)38(完全な因子のみ)

そして、80の異なるドキュメントのこれらの結果を保存するためのループを作成したいと思います。私は以下を試しました:

for (i in 1:length(infra$tableid)) {
  whypar <- paste(infra$whypar [infra[,1] ==i], collapse=" ")
wpi<- removeWords(whypar, stopwords("english"))

as.data.frame(wpi)
write.csv(data.frame(wpi), file= "wp.csv")

tagged.text <- tokenize("wp.csv", lang="en")

res.mtld <- MTLD(tagged.text)
  write.csv(data.frame(res.mtld),file="output.csv")
}

インフラは次のとおりです。

tableid 1, 2, 3, ... 80
whypar "I took part because xxx", "I believe that jshfdjk", "jhsadkjhd" ... (N=350)

助けてくれてありがとう

4

1 に答える 1

1

最初に関心のあるMTLDオブジェクトの部分を抽出します。あなたの質問から、MTLDによって返されるオブジェクトのサブセット、つまりMTLDスコア、要素の数、トークン/要素のSD、および完全な要素のみのSDにのみ関心があるようです。ファイルごとにこれらの結果のみが必要な場合は、すべてのファイルの出力として1つの素敵なテーブルを作成できます。

res <- data.frame( ID = numeric() , MTLD=numeric() , Factor_Size=numeric() , SD=numeric() , SD_Complete=numeric() )
for (i in 1:length(infra$tableid)) {
  whypar <- paste(infra$whypar [infra[,1] ==i], collapse=" ")
  wpi<- removeWords(whypar, stopwords("english"))

  wpi <- as.data.frame(wpi)
  write.csv(data.frame(wpi), file= "wp.csv")

  tagged.text <- tokenize("wp.csv", lang="en")

  res.mtld <- MTLD(tagged.text)
  mtld <- res.mtld@MTLD$MTLD
  fac.size <-  res.mtld@param$factor.size
  mtld.sd <- res.mtld@MTLD$lengths$sd
  mtld.sd.compl <- res.mtld@MTLD$lengths$sd.compl
  res <- rbind( res , c( infra$tableid[i] , mtld, fac.size , mtld.sd , mtld.sd.compl ) )
}
  write.csv( res , file="output.csv" )

これがお役に立てば幸いですが、これらが返される結果であることを確認してください。

于 2013-02-19T17:50:33.790 に答える