2012-04-01 11 views
0

私は短いループを持っていました。私はいくつかの.csvファイルを作成するために使用しました。ループが動作し、ファイルが正しく作成され、Microsoft Excelで開くことができます。すべてが素晴らしく見えます。しかし、これらのファイルを別のスクリプトでRに読み込もうとすると、Rはそれらを認識しません。R:ループ内で "write.csv"を使用しましたが、Rはそれを再び読み込まない

複数のpngファイルを作成する場合と同じように、ループ内で何らかのドライバをオフにする必要がありますか?

ここにループがあります(作品)。参考までに、dtlmは、「diag」、「county」、「date」、「Freq」を含むいくつかの列を持つ大きなデータフレームです。

dt <- read.csv("C:/Users/myname/Desktop/FreqTables/492.csv") 

とても奇妙:

single = c("492", "493", "427", "428", "786") 
for (q in 1:length(single)) { 
    xx = xtabs(~date+county, data=dtlm, subset = dtlm$diag == single[q]) 
    xy=as.data.frame(xx) 
    write.csv(xy, paste(single[q], ".csv", sep="")) 
} 

は今ここに、Rが付いたファイルを認識できないというコマンドの一例です!私もread.tableを試してみましたが、どちらもうまくいきませんでしたし、read.csvで役立つものは何も見つかりませんでした。どんな提案も大歓迎です!

+0

あなたは「Rが付いたファイルを認識できません」とはどういう意味ですか?あなたがそれを読むときに結果は何ですか? – mdsumner

+1

また、現在のディレクトリで書き込みを行っているのですが、読み込みにフルパスを使用しているのはなぜですか?私はそれが原因だと思いますので、どちらか一方を選択して、違いがあるかどうかを確認してください。 Windows 7とVistaはパスでわかりにくくなる可能性があります – mdsumner

+0

ファイルを整理して整理するためにファイルをフォルダに移動したため、完全なファイルパスを使用しています。 (ファイル、 "rt"): 警告メッセージ: ファイル(ファイル、 "rt"): ファイル 'C:/ Users/mtinling/Desktop/FreqTablesを開くことができません。 /493.csv ':そのようなファイルやディレクトリはありません > – mEvans

答えて

1

これは私が通常行う方法です、

## store the path in some object, here 'dir' 
dir <- "[path to the folder where you have your data]" 

## then pick up the file names from the 'dir,' change the filter as needed 
fnames <- list.files(path = dir, pattern = ".csv") 

## read the data into a list 
dfn = list() 
for (string in fnames){ 
dfn[[string]]=read.csv(paste(dir,string,sep = "")) 
} 

はおそらく少数の行でそれを行うことができますが、これは私のために動作します。

あなたが一緒にファイルをマージしたい場合は、これはあなたのために働くなら、私を知ってみましょう私は、CSVファイル

## remove the .csv suffix 
names(dfn) <- strsplit(names(dfn),".csv") 

## merging the data frames together (traditional) 
DF <- dfn[[1]] 
for (.df in dfn) { 
DF <-merge(DF, .df, by.x="ID", by.y="ID", all.x=T, 
      suffixes=paste(":", names(dfn), sep = "")) 
}  

からファイル名に持ち込むことに注意し、このようなものを使用することができます。

ベスト、 エリック

関連する問題