哪种排序方法将根据响应变量预测分组?

which ordination method will predict grouping based on response variables?

我有几个格式的回归模型 m <- lm(y ~ x, dat)

每个模型的 y 不同,但 x 始终相同

例如

data(Iris)

m <- lm(Iris$Sepal.L. ~ Sepal.W., data  = Iris)

我从 m

中提取了 X 和 Y
X <- m$call [2][[1]][[3]]
Y <- m$call [2][[1]][[2]]

然后我尝试在 ggplot 中使用 X 和 Y 表示 x 和 y

ggplot() +  
   geom_point(data = Iris, 
              aes(x = X , y = Y), size = 3) 

我收到错误消息:

不知道如何为调用类型的对象自动选取比例。默认为连续。

不知道如何为调用类型的对象自动选取比例。默认为连续。

错误:美学必须是长度1或与数据相同(150):x,y,size

如何在 ggplot 中正确使用调用向量 X 和 Y?

注意:我想在一个函数的循环中使用这段代码,在这个函数中我指定了一个 Y 列表,所以我不想手动编写 aes(x = Iris$Sepal.W., y = Iris$Sepal.L.)

我想我已经解决了!

如果对其他人有帮助,这里是解决方案。 (我需要查看更改 x 和 y 标签,但那是另一个问题)

ggplot() +  
   geom_point(data = Iris, 
              aes(x = Iris[[X]] , y = Iris[[Y]]), size = 3) 

我的 R 没有附带 Iris 数据集,所以我将使用常见的 iris.

data(iris)

m <- lm(Sepal.Length ~ Sepal.Width, data = iris)

X <- as.character(m$call [2][[1]][[3]])
Y <- as.character(m$call[2][[1]][[2]])

ggplot() +  
  geom_point(aes(x = iris[, X] , y = iris[, Y]), size = 3)

注意一些事情。我的代码中没有 data 参数,因为您没有使用它,因为您将数据作为向量传递(例如 iris[, X])。我将 XY 强制转换为一个角色,因为默认情况下,他们的 class 是 name.