0
我已閱讀stat_function上的這些內容,但仍無法使其工作。下面是min工作代碼:R stat_function與替代數據集
plotdata <- cbind(as.data.frame(seq(-5, 5, length=10)), as.data.frame(-seq(-5, 5, length=10)))
colnames(plotdata) <- c('x', 'y')
xvalues <- as.data.frame(seq(-5, 5, length = 100))
colnames(xvalues) <- 'x'
xey <- function(x) {x}
#ggplot(plotdata, aes(x, y)) + geom_line() + stat_function(data=xvalues, fun = xey, linetype = 2)
ggplot(plotdata, aes(x, y)) + geom_line() + stat_function(mapping = aes(x = x), data=xvalues, fun = xey, linetype = 2)
我得到的錯誤是:
Error in eval(expr, envir, enclos) : object 'y' not found
正如你所看到的,我都與映射和不和的錯誤是一樣的嘗試。該情節沒有stat_function的作品,xey函數被矢量化並且用x來表示,並且xvalues列被標記爲x,所以?
編輯 - 在xvalues中添加了命名列,沒有從我的筆記本中轉移。
Thanks Rilcon!啊,把最小的工作例子放在一起是一個問題。請設想一下,xvalues與plotdata中的值不同。我希望stat_function繪製在不同的數據集上,只包含x值,而不是plotdata。非常感謝您關注我的問題。 – zazizoma
'stat_function'的輸入必須是一個公式或'x,y'對,它看起來像只傳遞了'x'值。 – Rilcon42
x = x來自文檔中stat_plots的示例,它不使用y。但我在映射中嘗試了x = x,y = 0,它工作正常! – zazizoma