コードと特定の問題のより完全な例を提供するために編集されました
株価の時系列プロットを作成する関数を書いています。ただし、次のエラーが発生します
eval(expr、envir、enclos)のエラー:オブジェクト'df1234'が見つかりません
関数の例を次に示します。
plot.prices <- function(df1234) {
require(ggplot2)
g <- ggplot(df1234, aes(x= as.Date(Date, format= "%Y-%m-%d"), y= df1234[, 3],
colour= brewer.pal(12,"Set3")[1])) + geom_point(size=1)
g + geom_point(aes(x= date, y = df1234[, 4],
colour= brewer.pal(12,"Set3")[2]), size=1)
# ... code not shown...
g
}
そしてサンプルデータ:
spy <- read.csv(file= 'http://ichart.finance.yahoo.com/table.csv?s=SPY&d=11&e=1&f=2012&g=d&a=0&b=29&c=1993&ignore=.csv', header= T)
plot.prices(spy) # produces error
g <- ggplot(spy, aes(x= as.Date(Date, format= "%Y-%m-%d"), y= spy[, 3],
colour= brewer.pal(12,"Set3")[1])) + geom_point(size=1)
g + geom_point(aes(x= as.Date(Date), y = spy[, 4],
colour= brewer.pal(12,"Set3")[2]), size=1)
## does not produce error
ご覧のとおり、コードは同じです。ggplot()の呼び出しが関数の内側にある場合はエラーが発生しますが、ggplot()の呼び出しが関数の外側にある場合はエラーが発生しません。