小编nic*_*ico的帖子

R:在'nls`中捕捉错误

我正在使用一些指数数据nls.

我正在使用的代码是:

fit <- nls(y ~ expFit(times, A, tau, C), start = c(A=100, tau=-3, C=0))
Run Code Online (Sandbox Code Playgroud)

expFit 被定义为

expFit <- function(t, A, tau, C)
    {
    expFit <- A*(exp(-t/tau))+C
    }
Run Code Online (Sandbox Code Playgroud)

这适用于我的大多数数据,其中提供的起始参数(100,-3和0)运行良好.但有时,我的数据与这些参数不相符,而且我得到错误nls(例如"奇异梯度"或类似的东西).我如何"捕获"这些错误?

我试着做点什么

fit <- NULL
fit <- nls(...)

if (is.null(fit))
    {
    // Try nls with other starting parameters
    }
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为nls似乎停止执行和后面的代码nls将不会执行...

有任何想法吗?

谢谢你

exception-handling r curve-fitting nls

6
推荐指数
1
解决办法
3084
查看次数

在R中的filled.contour图中绘制一个方框?

我正在尝试在filled.contour绘图中绘制一个框,但不幸的是,当我在fill.contour绘图创建后绘制lines()时,图形向右移动,因为刻度强制图像向左,但盒子保持在相同的坐标.这是我的代码的样子:

dev.new(width=6,height=7)
mypredict<-matrix(data=mypredict,nrow=20,ncol=25)
filled.contour(x=seq(from=-1.5,to=1.5,length=20),
y=seq(from=1,to=3.75,length=25),
z=mypredict,
col=hsv(h=seq(from=2/3,to=0,length=20),s=1,v=1)
)
top <- 3.42
bot <- 1.56
lines(c(-1,-1),c(bot,top))
lines(c(1,1),c(bot,top))
lines(c(-1,1),c(top,top))
lines(c(-1,1),c(bot,bot))
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在filled.contour函数中绘制这些线?否则,线条无法正确绘制到主图像上,因为图形的比例/图例位于右侧.

谢谢!

r

6
推荐指数
1
解决办法
3131
查看次数

TinyMCE可防止图像大小调整

我正在使用以下方法将图像添加到TinyMCE编辑器:

var params = {
             src: filename,
             title: "Attached image: " + filename,
             width: 500
             };

ed.execCommand("mceInsertContent", false, ed.dom.createHTML("img", params));
Run Code Online (Sandbox Code Playgroud)

这会在编辑器中正确插入图像.但是,当用户点击图像时,他有能力调整图像大小.

我想知道是否有办法:

  1. 防止用户仅在一个方向上调整大小(即如何为图像保持固定的宽高比)
  2. 完全阻止用户调整图像大小

tinymce image aspect-ratio image-resizing

6
推荐指数
1
解决办法
6708
查看次数

R质量保证技术

您是否可以深入了解用于确保解决方案质量的技术.例如,有时候,我喜欢测试我的结果,stopifnot()以确保我没有收到荒谬的结果.您是否有任何其他技术或功能用于数据处理,以确保您收到您想要的解决方案?

注意:我意识到这是一个广泛的问题,也许是社区维基甚至关闭的候选人,而不是投票结束,也许通过添加评论来指导对话来帮助我.

r

5
推荐指数
1
解决办法
381
查看次数

处理R中的日期和时间

我有一个包含2列的数据框,第一列包含日期,第二列包含时间,格式如下:

     date         time        
[1,] "2003-10-03" "22:32:00"
[2,] "2003-10-05" "17:43:06"
[3,] "2003-10-10" "18:45:56"
[4,] "2003-11-12" "17:07:16"
[5,] "2003-11-13" "12:48:04"
[6,] "2003-11-13" "18:17:57"
Run Code Online (Sandbox Code Playgroud)

我想创建一些这些数据的直方图,查看每年,每月和每天特定时段的事件数量.

这一年很容易

hist(as.Date(df[,1]), "years")
Run Code Online (Sandbox Code Playgroud)

现在,为了获得每个月的事件数量(无视年份),我使用了:

 months = c("January", "February", "March", 
            "April", "May", "June", "July", 
            "August", "September", "October", 
            "November", "December")
 tb <- table(factor(months.Date(dt), levels=months)
 barplot(tb)
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 有没有更好的方法每月做直方图?
  2. 我如何在一天中的时间做同样的事情(每小时箱就足够了)?

谢谢

datetime r

5
推荐指数
1
解决办法
1547
查看次数

在Ubuntu中执行.cgi文件

我在Ubuntu下运行Apache/PHP

当我运行.cgi文件时,通过进入http://localhost/mycgi.cgi,浏览器将显示代码而不是运行它.

如何让浏览器执行CGI文件而不是显示其内容?

ubuntu perl cgi apache2

5
推荐指数
2
解决办法
2万
查看次数

在R中创建累积步骤图

假设我有这个示例数据框

set.seed(12345)
n1 <- 3
n2 <- 10
n3 <- 60

times <- seq(0, 100, 0.5)

individual <- c(rep(1, n1), 
                rep(2, n2), 
                rep(3, n3))

events <- c(sort(sample(times, n1)),
            sort(sample(times, n2)),
            sort(sample(times, n3)))

df <- data.frame(individual = individual, events = events)
Run Code Online (Sandbox Code Playgroud)

这使

> head(df, 10)
   individual events
1           1   72.0
2           1   75.5
3           1   87.5
4           2    3.0
5           2   14.5
6           2   16.5
7           2   32.0
8           2   45.5
9           2   50.0
10          2   70.5
Run Code Online (Sandbox Code Playgroud)

我想绘制事件的累积步骤图,以便每个人获得一行,每次"遇到"事件时,每行增加1.

因此,例如,个体1将是0到72.0,然后上升到1,直到75.5,当它变为2时,最多3到87.5到图的末尾.

最简单的方法是什么?

r graph cumulative-sum

5
推荐指数
3
解决办法
7347
查看次数

从矢量元素中删除字符

我有一个字符串向量:

str.vect<-c ("abcR.1", "abcL.1", "abcR.2", "abcL.2")

 str.vect
[1] "abcR.1" "abcL.1" "abcR.2" "abcL.2"
Run Code Online (Sandbox Code Playgroud)

如何从每个向量元素的右侧删除第三个字符?

这是期望的结果:

"abc.1" "abc.1" "abc.2" "abc.2"

非常感谢你提前

r

5
推荐指数
2
解决办法
1万
查看次数

均匀分布的直方图未在R中正确绘制

当我运行代码

hist(1:5)
Run Code Online (Sandbox Code Playgroud)

要么

hist(c(1,2,3,4,5))
Run Code Online (Sandbox Code Playgroud)

生成的直方图显示,当阵列中只有一个"1"时,第一个数字"1"的频率为2.

在此输入图像描述

我也试过了

hist(c(1,2,3,7,7,7,9))
Run Code Online (Sandbox Code Playgroud)

但它仍然显示第一个柱子比第二个柱子高两倍

在此输入图像描述

但是,当我跑

 hist(c(1:10))
Run Code Online (Sandbox Code Playgroud)

每个条的频率高度相等

我对统计数据和R很新,所以我不知道这背后的原因是什么.我希望有人可以帮我澄清为什么会这样.谢谢

在此输入图像描述

r

5
推荐指数
3
解决办法
1044
查看次数

闪亮的改变滑块动画速度

我想知道是否有办法改变闪亮滑块的动画速度.因此,对于(在ui.R中)的滑块:

sliderInput("test_slider", 
            "Animation:", 
             min = 1, 
             max = 200, 
             value = 100, 
             animate = animationOptions(interval = ANIMATION SPEED))
Run Code Online (Sandbox Code Playgroud)

我希望能够更改ANIMATION SPEED,而不是将其保持在我在开头设置的静态值.此外,动画仅在我将其放入ui时才有效,因此我无法将其作为服务器中的反应UI.例如,我不能在server.R中做

output$test_slider <- renderUI({
   sliderInput("test_slider", 
               "Animation:", 
                min = 1, 
                max = 200, 
                value = 100, 
                animate = animationOptions(interval = ANIMATION SPEED))
})
Run Code Online (Sandbox Code Playgroud)

然后添加ui.R

uiOutput("test_slider")
Run Code Online (Sandbox Code Playgroud)

这本来是理想的,因为我自定义了诸如min和max之类的东西(可能还有ANIMATION SPEED),但遗憾的是这样做会使播放按钮无效并且动画无法启动.我对如何动态更改滑块输入参数感到茫然.即使你的解决方案涉及javascript,我也会完全没问题.非常感谢.


编辑:

所以我还没有答案,但我已经接近了.我查看了javascript文件并添加了类似的内容(在ui.R中):

         numericInput("anim",
                      "interval: ",
                      value = 100),
         sliderInput("test_slider",
                    "Animation",
                     min = 1,
                     max = 200,
                     value = 100,
                     step = 1,
                     animate = animationOptions(interval = 700,
                               playButton = icon('play', "fa-3x"), …
Run Code Online (Sandbox Code Playgroud)

animation r dynamic slider shiny

5
推荐指数
1
解决办法
2812
查看次数