2017-03-04 95 views
1

我想繪製下面的函數,使用ggplot2。ggplot2繪圖函數與參數範圍

change <- function(score, d, k, p) {k*(score - 1/(1+k^(d/p)))} 

我想看到結果作爲參數d的函數。下面的代碼有什麼問題?

library(ggplot2) 
ggp <- ggplot(data.frame(x=c(0:10)), aes(x)) + 
    stat_function(fun=change, args=list(1, x, 100, 400)) 
ggp 

回答

2

傳遞參數作爲命名列表(沒有X)工作原理:

ggp <- ggplot(data.frame(x=c(0:10)), aes(x)) + 
    stat_function(fun=change, args=list(score=1, k=100, p=400)) 

從幫助頁面

ARGS:額外的參數列表傳遞樂趣

+0

謝謝。你還知道如何直接引用giben data.frame中的變量。例如,如果我不想繪製作爲我的x變量的函數但是其他一些變量(如果data.frame(x = c(0:10),y = c(10:20))) –

+0

指定例如,如果要針對'y'變量進行繪圖,'ggplot'中的* mapping *'aes(x = y)'應該執行此操作。 – Psidom