小编Sta*_*nLe的帖子

R代码不保存绘图图像

以下代码生成一个图像:

library(latticeExtra)
x=runif(40)
y=runif(40)
z=runif(40)
png(filename=paste(i,".png",sep=""))
levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50))
dev.off()
Run Code Online (Sandbox Code Playgroud)

但是下面的代码没有.为什么?

library(latticeExtra)
for(i in seq(1,5)) {
    x=runif(40)
    y=runif(40)
    z=runif(40)
    png(filename=paste(i,".png",sep=""))
    levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50))
    dev.off()
}
Run Code Online (Sandbox Code Playgroud)

plot png r levelplot

4
推荐指数
1
解决办法
2260
查看次数

在nls中处理0错误 - R脚本

有没有办法让我的nls在非线性拟合时有0个残差?在我的数据中有一些情况,其中拟合应该有0错误,但是nls总是失败并且吐出错误.

谁能告诉我:

  1. 如何测试这是否是由nls吐出的错误?
  2. 如何允许0个错误案例?(完美契合)

这是我的nls电话:

fit <- nls(y ~ ifelse(g, m1 * (x - x0) + y0, m2 * (x - x0) + y0),
            start = c(m1 = -1, m2 = 1, y0 = 0, x0 = split),
            algorithm = "port",
            lower = c(m1 = -Inf, m2 = -Inf, y0 = -Inf, x0 = split),
            upper = c(m1 = Inf, m2 = Inf, y0 = Inf, x0 = (split+1)),
            data=data.frame(x,y))
Run Code Online (Sandbox Code Playgroud)

r nonlinear-functions nls

3
推荐指数
1
解决办法
702
查看次数

Ellipsoid R函数 - 查找一个点是否符合-R脚本

我有一个3D椭球函数:

ellipsoid <- function(center=c(0, 0, 0), radius=1, shape=diag(3),
  segments=51) {
    angles <- (0:segments)*2*pi/segments
    ecoord2 <- function(p) {
      c(cos(p[1])*sin(p[2]), sin(p[1])*sin(p[2]), cos(p[2])) }
    unit.sphere <- t(apply(expand.grid(angles, angles), 1, ecoord2))
    t(center + radius * t(unit.sphere %*% chol(shape))) 
  }
Run Code Online (Sandbox Code Playgroud)

这使得椭圆体具有给定的中心和半径.然后我可以使用以下方法绘制:

q <- quads3d(ellips[,1], ellips[,2], ellips[,3], front="lines",
  back="lines", alpha=.5, 
                  lit=FALSE, col=surface.col[1])
Run Code Online (Sandbox Code Playgroud)

但是,我如何确定点(x,y,z)是否落在这个椭圆体内?具体来说,我如何找出椭圆体的半轴?

例如,

fitsInEllipsoid <- function(ellipsoid, x, y, z) {
#returns true if (x,y,z) fits inside the ellipsoid
}
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
1084
查看次数

在动作中以HTML形式调用php但不重定向

我有一个HTML表单如下:

<form id="ContactForm" name="ContactForm" method="post" action="emailinfo.php">
Run Code Online (Sandbox Code Playgroud)

然后是一个提交按钮,调用verify():

<a href="#" class="button1" onClick="verify()">Send</a>
Run Code Online (Sandbox Code Playgroud)

verify 定义如下:

function verify() {
    if(document.getElementById("name").value=="" || document.getElementById("email").value=="") {
        alert("Please enter a name and an email.");
    } else {
        alert("Looks good, sending email");
        document.getElementById('ContactForm').submit();
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,当我单击提交按钮时,浏览器会重定向到emailinfo.php,这只是一个空白的白色屏幕,因为该php文件只发送一封电子邮件而不执行任何其他操作.如何在php不重定向的情况下运行该文件?

html javascript php forms

3
推荐指数
1
解决办法
9855
查看次数

R - 平滑颜色并向散点图添加图例

我在R中有一个散点图.每个(x,y)点都根据其z值着色.所以,你可以把每个点为(x,y,z),在(x,y)确定其位置,并z确定其沿彩色渐变色.我想补充两件事

  1. 右侧的图例显示颜色渐变,哪些z值对应于什么颜色
  2. 我想,我想使用某种类型的插值来平滑所有颜色.换句话说,整个绘图区域(或至少大部分绘图区域)应该变为彩色,以使其看起来像一个巨大的热图而不是散点图.所以,在下面的例子中,周围会有很多橙色/黄色,然后是一些紫色斑点.如果需要的话,我很高兴进一步澄清我在这里要解释的内容.

这是我目前的代码,以及它制作的图像.

x <- seq(1,150)
y <- runif(150)
z <- c(rnorm(mean=1,100),rnorm(mean=20,50))
colorFunction <- colorRamp(rainbow(100))
zScaled <- (z - min(z)) / (max(z) - min(z))
zMatrix <- colorFunction(zScaled)
zColors <- rgb(zMatrix[,1], zMatrix[,2], zMatrix[,3], maxColorValue=255)
df <- data.frame(x,y)
x <- densCols(x,y, colramp=colorRampPalette(c("black", "white")))
df$dens <- col2rgb(x)[1,] + 1L
plot(y~x, data=df[order(df$dens),],pch=20, col=zColors, cex=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

interpolation r legend scatter-plot heatmap

3
推荐指数
1
解决办法
5376
查看次数

插值两个给定点之间的新点

给定两点,如何在这两点之间插值并生成20个点.

例如,要点:

x = c(2,8)
y = c(2,19)
Run Code Online (Sandbox Code Playgroud)

我尝试拟合线性模型,然后使用它来生成点,但是当x值相同时,线性线不适合.

interpolation r

3
推荐指数
2
解决办法
3467
查看次数