2
私は関数型の使用にはあまり慣れていないので、ggplotを使用することはできません。ggplotでの関数型プログラミングの使用
function_factory <- function(x){
times <- function(y) x * y
}
simple_application <- function(z1, z2){
times_z1 <- function_factory(z1)
times_z2 <- function_factory(z2)
times_z1(3) * times_z2(3)
}
simple_application(3, 3)
をしかし、これにはない:
何らかの理由で、この作品
plot_times <- function(z1, z2){
times_z1 <- function_factory(z1)
times_z2 <- function_factory(z2)
library(ggplot2)
ggplot(data = data.frame(x = 0), mapping = aes(x = x)) +
stat_function(fun = "times_z1", xlim = c(1, 1000)) +
stat_function(fun = "times_z2", xlim = c(1, 1000))
}
plot_times(3, 4)
私は次のエラーを取得:
> plot_times(3, 4)
Warning messages:
1: Computation failed in `stat_function()`:
object 'z1' not found
2: Computation failed in `stat_function()`:
object 'z2' not found
私はさらにいくつかの合併症を持っているが、私はこれを解決できれば私自身の問題も解決できることを願っています。 ' これは環境と関係していると確信していますが、修正方法を理解できません。
を持つ関数の工場から、これはうまく機能注:stat_function
へ
times_three <- function(x) 3 * x
times_four <- function(x) 4 * x
ggplot(data = data.frame(x = 0), mapping = aes(x = x)) +
stat_function(fun = "times_three", xlim = c(1, 1000)) +
stat_function(fun = "times_four", xlim = c(1, 1000))
、 'times_three'と' times_four'は関数です。 plot_times関数には、オブジェクトがあります。私は、stat_functionに 'fun'パラメータに渡す関数が必要だと思っています。 – ira
予想よりも簡単です。引用符を取り除くだけです。 'fun = times_z1'が動作します。 –
イラとルイ・バラダスありがとう。うわー、それは本当に引用符を削除するために働いた。これは数時間私を困らせている。 – Fridriksson