2016-05-25 8 views

答えて

0

私はあなたのテキストファイルの内容がどうなっているのかよく分かりませんが、ファイルに有効なコメント文字がある場合は、そのファイル名の前に置くことをお勧めします。これは、readLineswriteの組み合わせで実現できます。

まず、ファイルの内容をreadLinesと読みたいと思うでしょう。次に、ファイル名のベクトルを作成し、次にコンテンツをreadLinesから作成します。次に、ベクトルを元のファイルに書き戻します。

真実に言えば、それを別のファイルに書き込んでソースの素材を変更しないほうがよいでしょうが、それをどのように管理したいかを理解するために残しておきます。コードは以下の図

#* Create a temporary file 
this_file <- tempfile("an_example_file", tmpdir = getwd(), fileext = ".txt") 

#* Populate the file with some text 
write(LETTERS, this_file) 

#* Here's the real start of the solution 
file_text <- readLines(this_file) 

write(
    paste0(
    c(sprintf("## %s \n\n", this_file), 
     file_text) 
), 
    this_file 
) 

#* see the changes 
readLines(this_file) 

#* cleanup 
file.remove(this_file) 
+0

あなたの助けをありがとうのために、プロセスを説明するための一時ファイルを使用しています。これは、生物学的配列データおよび別のプログラムによってインポートされる1つのプログラムの出力を修正するためのものである。ファイルを生成するときにファイル名を正しく指定するのは簡単ですが、後で他のプログラムが読み込む正しい最初の行のテキストをすべて手作業で編集するのはずっと難しくなります。ファイルに有効なコメント文字がありません。あなたはソースマテリアルを変更しないことが正しいですが、私はちょうど別のディレクトリに複数のコピーを配置してそこに変更しようとしていました。 –

+0

@DanKリストを作成して、リスト内の項目にファイルの名前を付ける必要があります。ファイルから行を削除するコードや、forループで操作する重複した構造を持つコードを記述する必要があると考える「SASパス」を崩さないでください。 –

0
filename <- 'whatever.txt' 
file.text <- readLines(filename) 
file.text <- c(filename, file.text) # adds filename to beginning of file.text 
fileConn<-file(filename) 
writeLines(file.text, fileConn) 
close(fileConn) 
+0

ありがとう、それは全体のパスを貼り付けるが、私はこれで動作することができます。 –

関連する問題