2016-07-22 5 views
1

列内のすべてのセルの内容を個々の.txtファイルにエクスポートします。セルの内容もファイルのファイル名として渡します。 .txtファイル。 Rの下にこのスクリプトがありますが、なんらかの理由でループi in 1:length()は列A:Zでは動作しますが、行A1:A26では動作しません。CSVセルの内容をファイル名(R)の内容の.txtにエクスポート

このスクリプトで行A1:A26の内容をエクスポートする助けがあれば幸いです!

コンテキスト:これは、自然言語処理のためにCSVファイル内の構造化されていないテキストからMALLETコーパスを作成するためのものです。

filenames <- names(NLPL) 
for (i in 1:length(NLPL)){ 
    outname <- paste("", filenames[i], ".txt", sep= "") 
    write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F) 
} 
+0

は 'nrow'の代わりに、' length'を使用してみてください。 – ytk

+0

ありがとう@ytk、私は前にそれを試しましたが、 '.subset2(x、i、exact = exact):範囲外の添え字 'のエラーが発生しました。 –

答えて

1

あなたは1:length(NLPL)または1:ncol(NLPL)と同じように1:nrow(NLPL)を使用することができますが、私はseq_along()を使用して好みます。

カラムの場合はseq_along(NLPL)を使用し、行の場合はseq_along(NLPL[,1])を使用します。たぶん誰かが[,1]より良い方法を知っているかもしれません。列の場合

filenames <- names(NLPL) 
for (i in seq_along(NLPL[,1])){ 
    outname <- paste("", filenames[i], ".txt", sep= "") 
    write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F) 
} 

:行については

filenames <- names(NLPL) 
for (i in seq_along(NLPL)){ 
    outname <- paste("", filenames[i], ".txt", sep= "") 
    write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F) 
} 
+0

Upvoted。 'seq_along()'はプロが使うものです。例えば、多くのRはR自体で機能します。 –

+0

私は 'nrow()'で行ったように 'seq_along()'を使用しても、 '.subset2(x、i、exact = exact):添字が範囲外です。このエラー。 –

+0

これはforループ内のサブセット内の問題です。ちょうど印刷してみると、正しいインデックスが得られていることがわかります。これらのインデックスを適切に使用するようにコードを調整してください –

関連する問題