【问题标题】:How to plot a multivariate function with known coefficients using -scatter3d-如何使用-scatter3d-绘制具有已知系数的多元函数
【发布时间】:2019-12-24 23:44:06
【问题描述】:

我正在尝试使用 R 绘制一个采用以下形式的函数:

$$z=\beta_{0}+\beta_{1}x+\beta_{2}x^{2}+\beta_{3}y+\beta_{4}y^{2}+\beta_{ 5}x*y$$

我有所有 $\beta$ 的数值。我似乎找不到使用 -scatter3d- 的函数形式的示例,而且我没有在 R 中运行回归,也没有绘制 z、x 和 y 的系列。

我现在有

scatter3D(df$z=0.0279x-0.0000188x_sq+0.0422y-0.00708y_sq-0.000181x_y, df)

甚至没有添加任何其他内容,因为我收到一条错误消息:

Error: unexpected '=' in "scatter3D(df$z="

所以我假设这是一个语法问题,但似乎找不到任何相关信息。

【问题讨论】:

  • 旁注:为什么 Stack Overflow 不像其他网站那样渲染 LaTeX?

标签: r plot graphics scatter3d


【解决方案1】:

有几点:

您将无法针对仅依赖 2 个轴的单个变量绘制 4 个连续变量。

公式遵循y ~ x + z 模式,因此将您的= 更改为~

您不需要在任何变量前加上df$,因为您使用..., df 部分指定数据。

公式不接受系数,但您可以像这样在原始数据框中轻松更改它们:

df<-data.frame(x=rnorm(100,5,1),
           y=rnorm(100,50,1),
           z=rnorm(100,500,1))

df$x_sq<-0.000188*(df$x)^2
df$y_sq<-0.0708*(df$y)^2
  df$y2<-0.0422*(df$y)
  df$x2<-0.0279*(df$x)

   scatter3d(z~x2+y2,df)

还有https://meta.stackexchange.com/questions/30559/latex-on-stack-overflow

如果你想要一个表面,而不是一个散点,那么修改这个系数:

  x <- seq(-10, 10, length.out = 50)  
  y <- x 
  zf<-function(x,y){1*x^2+1*x-0.1*y^2-0.1*y+0.1*y*1*x}
  z <- outer(x, y, zf)
             surface3d(x,y,z)

【讨论】:

  • 如何包含交互效果? (即,在查看一阶偏导数时,x 对 z 的影响会随着 y 的不同水平而变化)。回复:乳胶;好伤心
猜你喜欢
  • 2015-11-03
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2020-03-12
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多