2016-09-25 43 views
1

我使用RStudio。为了绘制神经网络,我使用包neuralnet并使用'plot'来绘制图片。但我发现每一次,它都会让我看到Quartz中的分离图片,而不是RStudio的绘图区域。绘制神经网络工作

此外,plot在RMarkdown下不起作用。

任何人都可以告诉如何解决它?看来我需要从RStudio禁用Quartz。由于

以下是代码

set.seed(500) 
    library(MASS) 
    data <- Boston 
    apply(data,2,function(x) sum(is.na(x))) 
    index <- sample(1:nrow(data),round(0.75*nrow(data))) 
    train <- data[index,] 
    test <- data[-index,] 
    lm.fit <- glm(medv~., data=train) 
    summary(lm.fit) 
    pr.lm <- predict(lm.fit,test) 
    MSE.lm <- sum((pr.lm - test$medv)^2)/nrow(test) 
    maxs <- apply(data, 2, max) 
    mins <- apply(data, 2, min) 
    scaled <- as.data.frame(scale(data, center = mins, scale = maxs-mins)) 
    train_ <- scaled[index,] 
    test_ <- scaled[-index,] 
    library(neuralnet) 
    n <- names(train_) 
    f <- as.formula(paste("medv ~", paste(n[!n %in% "medv"], collapse = " + "))) 
    nn <- neuralnet(f,data=train_,hidden=c(5,3),linear.output=T) 
    plot(nn) 
+0

我们可以通过在Rstudio中调用dev.off()来解决第一个问题,但在rMarkdown中我仍然不能使用plot来显示神经网络 –

回答

3

我发现它在一些地方,我们可以调用dev.off()直到RStudio从来没有使用其他设备,但只有演播室情节本身

对于工作室的一部分,我们可以用阴谋(nn,rep =“best”)来获得情节。我不知道它为什么有效。

0

我迟到了,遇到了同样的问题,但是通过在块解决方案中传递“dev =”pdf“,我可以解决这个问题,希望这对任何有相同问题的人都有帮助,代码

{r,echo=FALSE,dev="pdf"}