为什么R

时间:2015-06-22 16:48:50

标签: r plot legend lasso

我正在尝试使用R:

中的msgps包修改虹膜数据集进行回归
iris2 = iris
iris2$Species = as.numeric(iris2$Species)
str(iris2)
    'data.frame':   150 obs. of  5 variables:
     $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
     $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
     $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
     $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
     $ Species     : num  1 1 1 1 1 1 1 1 1 1 ...

library(msgps)
fit = msgps(as.matrix(iris2[1:4]), iris2$Species)
plot(fit, criteria='cp')
legend('topleft', names(iris2[1:4]), lty=1:4, col=1:4) 

enter image description here

传说显然是错误的。它有一条红色虚线,主图中没有。主图有浅蓝色线,图例中没有。问题出在哪儿?谢谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

我不确定,但我的猜测是你的代码legend(... lty=1:4, col=1:4)只会改变图例中的颜色和线条类型,而不会改变图形本身。我也会尝试将该代码放在plot()函数中。这是为了确保R知道在绘图函数和图例函数中同步collty值。