如何在 R 中绘制多个水平图

马库斯·格拉斯

我正在通过AppliedPredictiveModeling 工作,但遇到了一个没有描述它如何运作的情节。生成数据的代码是:

svmParam2 <- expand.grid(eps = c(.01, 0.05, .1, .5 ), costs= 2^c(-2, 0, 2, 8),
                     sigma = as.vector(sigest(y~x, data=sinData, frac=.75)))

for (i in 1:nrow(svmParam2)){
   rbfSVM<-ksvm(x=x, y=y, data=sinData,
           kernel="rbfdot",
           kpar=list(sigma=svmParam2$sigma[i]),
           C=svmParam2$costs[i],
           epsilon=svmParam2$eps[i])

   tmp <- data.frame(x=dataGrid$x,
                y=predict(rbfSVM, newdata=dataGrid),
                eps=paste("epsilon:", format(svmParam2$eps)[i]),
                costs=paste("cost:", (svmParam2$costs)[i]),
                sigma=paste("sigma:", format(svmParam2$sigma, digits=2)[i]))
  svmPred2 <- if(i==1) tmp else rbind(tmp, svmPred2)
}
svmPred2$costs <- factor(svmPred2$costs, levels = rev(levels(svmPred2$costs)))
svmPred2$sigma <- factor(svmPred2$sigma, levels = rev(levels(svmPred2$sigma)))

并且情节如下所示:我想复制什么

每个图都是一个规则的 x, y 图,有 4 条不同的曲线,每个 sigma 值一条,总共有 16 个不同的图,每列有不同的成本值,每行有不同的 epsilon 值。

误用

一种方法是使用 ggplot:

library(ggplot2)

ggplot(svmPred2)+
   geom_line(aes(x = x, y = y, color = sigma))+
   facet_grid(eps ~ costs) +
   theme_bw()

在此处输入图片说明

和格子:

library(lattice)
library(latticeExtra)

useOuterStrips(strip=strip.custom(bg = "skyblue"), 
               strip.left=strip.custom(bg = "skyblue"), 
               xyplot(y~x |costs *eps,
                      data = svmPred2,
                      type = 'l',
                      groups = sigma,
                      col = c("red","blue","green"),
                      auto.key = list(columns = 3)))

在此处输入图片说明

数据:

library(kernlab)

x <- runif(100, min=2, max=10)
y <- sin(x)+rnorm(length(x))*.25
sinData <- data.frame(x=x, y=y)
dataGrid <- data.frame(x = seq(2, 10, length = 100))

svmParam2 <- expand.grid(eps = c(.01, 0.05, .1, .5 ), costs= 2^c(-2, 0, 2, 8),
                         sigma = as.vector(sigest(y~x, data=sinData, frac=.75)))

svmPred2 <- data.frame()
for (i in 1:nrow(svmParam2)){
  rbfSVM<-ksvm(x=x, y=y, data=sinData,
               kernel="rbfdot",
               kpar=list(sigma=svmParam2$sigma[i]),
               C=svmParam2$costs[i],
               epsilon=svmParam2$eps[i])

  tmp <- data.frame(x=dataGrid$x,
                    y=predict(rbfSVM, newdata=dataGrid),
                    eps=paste("epsilon:", format(svmParam2$eps)[i]),
                    costs=paste("cost:", (svmParam2$costs)[i]),
                    sigma=paste("sigma:", format(svmParam2$sigma, digits=2)[i]))
  svmPred2 <- if(i==1) tmp else rbind(tmp, svmPred2)
}
svmPred2$costs <- factor(svmPred2$costs, levels = rev(levels(svmPred2$costs)))
svmPred2$sigma <- factor(svmPred2$sigma, levels = rev(levels(svmPred2$sigma)))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在R中绘制羽毛图?

来自分类Dev

如何在R中绘制平均图

来自分类Dev

如何在R中绘制此图?

来自分类Dev

如何在R中绘制饼图

来自分类常见问题

如何在R中绘制多个列?

来自分类Dev

如何在R中绘制多个列?

来自分类Dev

如何在r中绘制多个图,每个需要与另一个创建坐标的向量绘制一个图?

来自分类Dev

如何在r中绘制多个图,每个需要与另一个创建坐标的向量绘制一个图?

来自分类Dev

如何在R中绘制条形图?

来自分类Dev

如何在ggplot2或R中绘制雷达图

来自分类Dev

如何在R中绘制节点属性的条形图

来自分类Dev

如何在R中的距离矩阵旁边绘制树状图?

来自分类Dev

如何在R中绘制两组的密度图

来自分类Dev

如何在 R 中绘制直方图和饼图?

来自分类Dev

如何在R中为多个图创建多个pdf?

来自分类Dev

如何在R中绘制多个类别变量

来自分类Dev

如何在R中的图形上绘制多个类别变量?

来自分类Dev

如何在R中创建多个秩图

来自分类Dev

如何在R中修改多个图的图例

来自分类Dev

如何在R中以水平堆积条形图的样式创建时间序列图

来自分类Dev

在 R 中绘制多个图 - par

来自分类Dev

R-如何使用ggvis绘制多个密度图

来自分类Dev

R-如何绘制多个重叠图/散点图?

来自分类Dev

如何在单个图形中绘制多个成块图?

来自分类Dev

如何在R中同时使用堆叠条和侧条条绘制条形图?

来自分类Dev

如何在r中按组绘制几个箱形图?

来自分类Dev

如何在通过kmeans获得的星团的R中绘制3D图?

来自分类Dev

如何在R中的ggplot图的右上角绘制系统视觉的图像?

来自分类Dev

如何在R中为时间序列光谱数据绘制漂亮的3D图

Related 相关文章

热门标签

归档