c:/files というディレクトリに更新されるファイルがたくさんあります。これらのファイルは、R オブジェクトを含む R データ ファイルです。これらのファイルをロードすると、データを含むさまざまなオブジェクトが取得されます。たとえば、opening.R ファイルを読み込むと、opening.stock、opening.options、opening.bonds などのオブジェクトが取得されます。これらの .R ファイルをそれぞれ読み込んで、オブジェクトに基づいて画像を作成し、それらをファイル名とオブジェクト名 .png として追加します。以下は私のコードですが、うまくいきません。ファイルをロードしてオブジェクトを読み取ることができます。しかし、オブジェクトの内容を読み取ろうとすると、機能しません。任意のアイデア、私が間違っていること:
for (file in dir("c:\\files" ,pattern = "OPENING")){
load(file)
for (object in ls()) {
## if I like to see the content of the oject
## I do this
### print(oject)
### this does not work, it just prints oject, not the content of objects
png("file+ojbect.png")
plot(object)
dev.off()
}
}
@Ben Bolker の提案に従って get(oject) を使用しましたが、現在別の問題があります。as.Date に変換し、並べ替えて、以下のようにプロットする必要がある日付列があります。
x=as.data.frame(get(oject))
x$Date<- as.Date(x$Date, format="%Y-%m-%d")
x<- x[order(as.Date(x$Date, format="%Y-%m-%d")),]
次のエラーが表示されます。
Error in as.Date.default(x$Date, format = "%Y-%m-%d") :
do not know how to convert 'x$Date' to class "Date"
Calls: as.Date -> as.Date.default
Execution halted
私はまだ問題を抱えています。最初の反復は機能しますが、2 番目のファイルになると、チョークします。
suppressMessages(library(ggplot2))
suppressMessages(library(gridExtra))
suppressMessages(library(timeDate))
for (i in dir("c:\\tmp" ,pattern = "OPENNING")){
setwd("C:/tmp")
load(i)
print(i)
Sys.sleep(5)
for (object in ls()) {
x<-data.frame(get(object))
print(x)
x$Date<-as.Date(timeDate(x$Date))
x[order(x$Date),]
png((openning.png",sep="")
Plot(x)
dev.off()
}
}
エラー:
Error in `$<-.data.frame`(`*tmp*`, "TimeStamp", value = numeric(0)) :
replacement has 0 rows, data has 7
Calls: $<- -> $<-.data.frame
Execution halted
入力がない場合は、私の投稿に反対票を投じないでください。他にどのようにこの質問をすることになっていますか。