使用 R 绘制 n 阶序列作为 x 的函数

詹姆斯·谢克

我试图通过创建一个要求输入“顺序”的 x 函数来绘制带有 R 的系列的第 n 阶。

像这样的东西,但这对任意 x 不起作用,它返回错误:找不到对象“x”。

fun1 <- function(order,x) {
    output = 0
    for (i in 0:order){
        output = output + ((-1)**order)*((x**(2)/factorial(2*order))
    }
}

plot1 <- ggplot(data = data.frame(x = 0), mapping = aes(x = x)) +
    stat_function(fun = fun1(0, x), geom = "line")

理论上这将绘制总和的前导顺序 (-1^order)((x^2)/(2*order)!)

以前我是手工写出系列的每个元素,但是在处理更高的顺序时这很乏味。

编辑:以前工作的一个例子是:

order4 <- function(x) {
    (1-((x**2)/2)+((x**2)/24)-((x**2)/720))
    }


plot1 <- ggplot(data = data.frame(x = 0), mapping = aes(x = x)) +
    stat_function(fun = order4, geom = "line")
格雷戈尔·托马斯

让我们修改您的函数,使其更加通用和矢量化:

my_series = function(x, order) {
  coefs = (-1)^(0:order) / factorial(2 * (0:order))
  x_grid = outer(x, 0:order, "^")
  x_grid %*% coefs
}

fun(1:5, order = 3) # looks good
#            [,1]
# [1,]  0.5402778
# [2,]  0.1555556
# [3,] -0.1625000
# [4,] -0.4222222
# [5,] -0.6319444

我也把x论点放在首位,这看起来不错。现在我们可以使用 的args参数stat_function来传入order,如注释中所述。我们为数据框提供了我们想要绘制的 x 值的完整范围。

ggplot(data = data.frame(x = 0:20), mapping = aes(x = x)) +
    stat_function(fun = my_series, geom = "line", args = list(order = 3))

在此处输入图片说明

对于更高的顺序,这仍然非常快速:

ggplot(data = data.frame(x = -2:280), mapping = aes(x = x)) +
    stat_function(fun = my_series, geom = "line", args = list(order = 20))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:如何使用rCharts绘制统计函数

来自分类Dev

使用barplot函数R绘制时间间隔

来自分类Dev

\ r或\ n的任何序列作为行分隔符?

来自分类Dev

在R中使用predict()函数绘制glm时,如何确保x和y的长度没有差异?

来自分类Dev

在R中绘制函数

来自分类Dev

r绘制函数问题

来自分类Dev

使用R:将矩阵转换为向量序列以实现阶函数的可变方法

来自分类Dev

绘制分析函数的 x 截距

来自分类Dev

在R中使用hist()函数绘制的影响直方图的变量

来自分类Dev

R data.table使用列作为参数将函数应用于行

来自分类Dev

绘制热图,其颜色是函数x,y-> r,g,b的结果

来自分类Dev

如何用任意数据在R中绘制表面图,即不是x和y的函数

来自分类Dev

如何在x设置为-10到10的情况下在R中绘制逻辑函数?

来自分类Dev

绘制一种热图,其颜色是函数x,y-> r,g,b的结果

来自分类Dev

使用UIBezierPath绘制极函数

来自分类Dev

使用 ppp 函数绘制错误

来自分类Dev

在gnuplot中绘制x函数的阶乘?

来自分类Dev

使用 Python 绘制函数,其中 x 和 y 值以变量表示

来自分类Dev

使用 matplotlib 绘制 [x,y]

来自分类Dev

使用dygraph for R仅按年份绘制xts时间序列?

来自分类Dev

如何不使用R绘制时间序列中的差距

来自分类Dev

在R中使用sprintf绘制字符串序列

来自分类Dev

绘制数据框中的一列作为 Pandas 中另一列的函数

来自分类Dev

使用列作为R中绘图的因子

来自分类Dev

使用列作为R中绘图的因子

来自分类Dev

绘制时间序列多行 x 轴作为日期

来自分类Dev

R定义函数以列作为输入而不是值

来自分类Dev

在R中使用dnorm和多边形函数绘制图形

来自分类Dev

在R中编写函数以使用pROC绘制ROC曲线

Related 相关文章

热门标签

归档