【发布时间】:2018-03-10 11:33:40
【问题描述】:
我正在通过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)))
情节看起来像这样:What I want to replicate
每个图是一个常规的 x、y 图,有四个不同的曲线,每个 sigma 值一个,总共有 16 个不同的图,每列具有不同的成本值,每行具有不同的 epsilon 值。
【问题讨论】:
-
没有什么
facet_wrap无法处理的。 -
从您的示例图的外观来看,他们使用的是格子图。尝试创建一个图(对于一个成本值),然后使用公式使用 lattice 在所有成本中复制该图。或者你可以走一条 ggplot 路线并使用 facet_wrap。
-
x轴上有什么? -
对不起,如果不清楚,x 轴是一个向量,有 2 到 10 之间的 100 个值。我相信这些图确实是使用 lattice 制作的,你有任何关于如何完成的示例代码使用我的格式的数据框?我一直在尝试,但没有成功。
-
@Marcus Grass 问题很清楚,但是我不明白 x 轴映射什么 - 100 个值到底代表什么?如果你能解释一下,我很乐意发布 lattice 和 ggplot 的代码。 y轴是精度,颜色和刻面也很明显,但是x轴是什么?