【发布时间】:2011-10-29 22:21:51
【问题描述】:
我有两个行数不等的数据框。但我需要平滑两个数据框中的数据并将它们绘制在一起。我可以用lowess/loess平滑每个数据帧。但是,当我尝试将两个数据帧的线条绘制在一起时,我通常会收到错误“行数不等”。我通过使用spline 找到了解决此问题的方法。我想知道以下是否有效:
tmp1 <- spline( lowess( df1[,1], df[,2] ), n = 20 )
tmp2 <- spline( lowess( df2[,1], df2[,2] ), n = 20 )
plot( tmp1[,1], tmp1[,2], type="l" )
lines( tmp2[,1], tmp2[,2], col="red" )
我想知道绘制lowess 对象的样条曲线是否“在统计上”有效,因为我想限制数据点的数量。这是专门针对不同系列上的lowess 包含不相等点数的情况?
【问题讨论】:
-
似乎应该如此。关键是要确保 x 和 y 的比例相同。先使用 plot() 然后再使用 lines() 应该注意这一点。真正的问题是为什么您认为它可能无效?
-
坦率地说,我不是统计学家。我是一名生物学家,这种方法似乎很有意义。但后来我学到了一个艰难的方式,看起来正确的事情并不一定如此。因此,这个问题是为了确保我的理解是正确的。我确实相信社区智慧。再次感谢@Dwin 的评论。这就是我一直在寻找的答案。
-
我也不是经过认证的统计学家,但使用 loess() 肯定比强制使用特定多项式拟合在统计上更“诚实”。