2011-07-12 8 views
0

特定のファイルのコードを書きましたが、残りの同様のデータファイルに対して同じ種類のグラフとファイルを生成したいと思いますコマンドは以下のように動作しません... これらのコードを接続すると、Rはファイル "eight"に対して1つのプロットしか作成せず、エラーが表示されます(下記参照) 私は編集してチェックしました私のコードは何度も何度も間違っていると分かっていませんでした。私を助けてくれますか?同じコードを使用して他のファイルの同じグラフを一度に生成

私は本当にあなたの助けに感謝します!

my.files <- list.files() 
for (i in 1: length(my.files)) { 
temp.dat <- read.csv(my.files[i]) 
eight <- read.csv(file="8.csv", header=TRUE, sep=",") 
eightout <- subset(eight, inout=="Outgoing from panel hh" & o_duration>0, select=c(inout, enc_callee, o_duration)) 
f <- function(eightoutf) nrow(eightoutf) 
eightnocalls <- ddply(eightout,.(enc_callee),f) 
colnames(eightnocalls)[2] <- "nocalls" 
eightout$nocalls <- eightnocalls$nocalls [match(eightout$enc_callee, eightnocalls$enc_callee)] 
eightout=data.frame(eightout,"time"=c(1:nrow(eightout))) 
M <- plot(eightout$time,eightout$nocalls) 
pdf(paste(Sys.Date(),"_",my.files[i],"_.pdf", sep="")) 
plot(temp.dat$time, temp.dat$nocalls, main=my.files[i]) 
dev.off() } 

これは、Rはplot.windowで エラー(...)こう言われる、必要に有限 'XLIMは' また 値: 1::分で(X):なし非欠けていない警告メッセージminへの引数。戻り値Inf 2:max(x):maxに欠損値がない。 -Inf 3:min(x):minに欠損値がない。返すInf 4:max(x):maxに欠損していない引数はありません。返す-Inf

+0

トラブルシューティングに関する以下の私のコメントを参照してください。再現可能な例がなければこれをデバッグすることは不可能であり、遠隔デバッグを試みるのは非常に不満です。あなたのコードは 'temp.dat'を読み込んでから、それ以降の操作のために使用するようには見えないので、実際にはあなたのコードは私には分かりません。私はこの1つのために時間と忍耐を持っていません...残念です...申し訳ありません... –

答えて

2

plotコマンドの後にdev.off()を挿入してみてください...? (たくさんの別々のファイルが必要な場合は、1つの大きなファイルのプロットが必要な場合は、ループを開始する前にPDFファイルを開き、ループの終了後に閉じます)。上記のコードのアップバージョン。 weirdnesses /質問残り

my.files <- list.files("/E/Data") 
for (i in seq_along(my.files)) { 
    temp.dat <- read.csv(my.files[i]) 
    seven <- subset(alldata, aserno==7, select=c(I,C,D), 
        I=="o" & D>0) 
    sevennumber <- ddply(sevenout,.(C), nrow) 
    colnames(sevennumber)[2] <- "number" 
    sevenout$number <- sevennumber$number[match(sevenout$C,sevennumber$C)] 
    sevenout$time <- seq(nrow(sevenout)) 
    pdf(paste(Sys.Date(), my.files[i], "M.pdf", sep="_")) 
    with(sevenout,plot(time, number, main=my.files[i]) 
    dev.off() ## CLOSE pdf 
    write.csv(sevenout,paste(Sys.Date(), 
     my.files[i],"new_data.pdf”,sep="_"), row.names=FALSE) 
} 

  • tmp.datoutを呼びますが定義されていません。 sevenoutにする必要がありますか?
  • プロットはtype="n"で作成されました。これは空のプロットフレームにつながりました。 ???
  • 私はそれらを再構成することができないので、操作が正しいと仮定しています。
  • 疑いでi <- 1を設定しようとすると何が起こるかを確認するために手動でループ内のコードを実行した場合...
+0

いいえ...それは動作しません... Rは "dev.off()のエラー:1つのデバイスはできません閉鎖される(無効なデバイス) " – user836554

+0

+1ページングされたファイルにそれらをすべてプッシュするとは気づきませんでした...それに感謝します。 –

+1

@userこれは、あなたが既にデバイスを開いていたからです。 dev.off()と入力して、それらをすべて閉じます。 –

関連する問題