4

同じスクリプトを使用して、さまざまな場所に保存されている多くのテキスト ファイルのデータを処理し、出力を別の一意の場所に保存したいと考えています。毎回スクリプトを修正する必要はありません。私は以下を使用して入力データを持っています:

data <- read.table(file.choose(),header=T)

同様のインターフェイスで最終的なテーブルを保存して、場所を選択し、ファイルの名前を入力したいと考えています。

私が試してみました:

write.csv(data.table,file.choose())

ただし、これは、スクリプトを実行する前に、希望する場所に、希望する名前の空の .csv ファイルを作成した場合にのみ機能します。

これを行う別の(より良い)方法はありますか?

4

4 に答える 4

3

いくつかの可能性があります:

library(gWidgets)
fileName <- gfile(type = "save") 

library(tcltk)
fileName <- tclvalue(tkgetSaveFile()) 

library(svDialogs)
fileName <- dlgSave()$res 

dlgSave新しいファイルを作成する必要があるときに確認を求め、追加の引数 (いくつかの基本的な例)tkgetSaveFileを使用するのは少し複雑なようで、さまざまなオプションを提供します。gfile

于 2012-10-10T17:32:00.267 に答える
1

入力ファイルに対して同じことをしている場合は、次のようなものを使用します。

# input files from working directory
all.files <- list.files()

i <- 1
while (i <= length(all.files)){

data <- read.table(all.files[i],header=T)

# your script here

# output files
out.file <- paste(gsub(".csv","", all.files[i]),"_FINAL.csv",sep="")

write.csv(data,file=out.file)

i <- i+1
}
于 2014-03-14T23:12:21.223 に答える