gpt4 book ai didi

r - 使用不相等数量的观测值进行数据平滑处理?

转载 作者:行者123 更新时间:2023-12-04 23:53:06 24 4
gpt4 key购买 nike

我有两个行数不相等的数据框。但是我需要使两个数据帧中的数据平滑并一起绘制。我可以用最低/最低的标准来平滑每个数据框。但是,当我尝试将两个数据帧的线绘制在一起时,通常会出现错误“行数不相等”。我通过使用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包含不相等数量的点的情况?

最佳答案

如果您(和我)记得splines不会返回可以作为行和列寻址的对象,那将行得通。它返回向量的两个元素列表。因此,您需要修复第二个“ df”的拼写并使用“ [[”:

# test data
df1 <- data.frame(x=rnorm(100), y=rpois(100, lambda=.5))
df2 <- data.frame(x=rnorm(200), y=rpois(200, lambda=.5))

tmp1 <- spline( lowess( df1[,1], df1[,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" )


该示例可能不是一个很好的入门,因为需要扩展ylim才能看到以下几点:

 plot( tmp1[[1]], tmp1[[2]], type="l", ylim=c(0,4) )
lines( tmp2[[1]], tmp2[[2]], col="red" )
points(jitter(df2[[1]]), df2[[2]], cex=0.3, col="blue")
points(jitter( df1[[1]]), df1[[2]], cex=0.3, col="red")

关于r - 使用不相等数量的观测值进行数据平滑处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com