小编San*_*ndy的帖子

使用`loess.smooth`而不是`loess`或`lowess`时出错

我需要平滑一些模拟数据,但是当要平滑的模拟纵坐标几乎是相同的值时,偶尔会遇到问题.这是最简单案例的一个可重复的小例子.

> x <- 0:50
> y <- rep(0,51)
> loess.smooth(x,y)
Error in simpleLoess(y, x, w, span, degree, FALSE, FALSE, normalize = FALSE,  : 
   NA/NaN/Inf in foreign function call (arg 1)
Run Code Online (Sandbox Code Playgroud)

loess(y~x),lowess(x,y)和它们在MATLAB中的模拟产生了预期的结果,在这个例子中没有错误.我在loess.smooth这里使用是因为我需要在一定数量的点上评估估算值.根据文档,我相信loess.smooth并且loess正在使用相同的估计函数,但前者是处理评估点的"辅助函数".该错误似乎来自C函数:

> traceback()
3: .C(R_loess_raw, as.double(pseudovalues), as.double(x), as.double(weights), 
   as.double(weights), as.integer(D), as.integer(N), as.double(span), 
   as.integer(degree), as.integer(nonparametric), as.integer(order.drop.sqr), 
   as.integer(sum.drop.sqr), as.double(span * cell), as.character(surf.stat), 
   temp = double(N), parameter = integer(7), a = integer(max.kd), 
   xi = double(max.kd), vert = double(2 * D), vval = double((D …
Run Code Online (Sandbox Code Playgroud)

r smooth loess

7
推荐指数
1
解决办法
5245
查看次数

使用网格对齐ggplot2轴

我有一个ggplot2奇数个刻面的线图.我想在空白处添加一个x值边缘分布的箱线图.箱线图应该是水平的,并与其他刻面共享一个共同的x轴.由于默认的boxplot geom是垂直的,因此coord_flip()是必需的.因此,我认为不可能将boxplot数据包含在与使用虚拟因子变量进行分面的其他方面相同的df中.

使用grid,我可以识别空视口并插入箱图,但我希望x轴排成一行.类似问题的答案(见这里这里)建议align_plotsggExtra包装中使用,但我不认为这将与分面合作.我在下面列出了一个简单的可重现的例子.如果我这样做,我还必须编辑空面板Grob以创建一个与其他面相匹配的新标签.任何建议,将不胜感激.

library(ggplot2)
#generate df for faceted line graphs
df <- data.frame(x = rep(1:100, times=7),
        facet_var = as.factor(rep( 1:7, each=100)),
        y = runif(7*100)
      ) 
#create faceted line graphs
p <- ggplot(data = df, aes(x, y)) +
    geom_line() + facet_wrap( ~ facet_var, ncol=2)

#generate df for boxplot
xdata <- runif(1000, min = 0, max = 100)
boxdf <- data.frame(x=xdata, group=rep(1,length(xdata)))

#create boxplot removing axes and margins …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

标签 统计

r ×2

ggplot2 ×1

loess ×1

smooth ×1