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

时间:2017-06-28 11:18:31

标签: r ggplot2 lm

我在格式中有几个回归模型 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,大小

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

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

2 个答案:

答案 0 :(得分:1)

我的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强制转换为某个角色,因为默认情况下,他们的班级为name

答案 1 :(得分:0)

我想我已经解决了!

如果它有助于其他人在这里是解决方案。 (我需要看到更改x和y标签,但那是一个不同的问题)

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