- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 R 的新手,我正在尝试将 smooth.spline()
应用于大型数据帧。我查看了相关线程(“将 n 个函数的列表应用于数据帧的每一行”,“如何应用样条基矩阵”,...)。这是我的数据框以及我迄今为止尝试过的内容:
> dim(mUnique)
[1] 4565 9
> str(mUnique)
'data.frame': 4565 obs. of 9 variables:
$ Group.1: Factor w/ 4565 levels "mal_mito_1","mal_mito_2",..: 1 2 3 4 5 6 7 8 9 10 ...
$ h0 : num 0.18 -0.025 0.212 0.015 0.12 ...
$ h6 : num -0.04 -0.305 -0.188 -0.185 -0.09 ...
$ h12 : num -0.86 -1.1 -1.01 -1.04 -0.91 ...
$ h18 : num -0.73 -1.215 -1.222 -0.355 -0.65 ...
$ h24 : num 0.04 0.025 -0.143 0.295 0.09 ...
$ h30 : num -0.14 1.275 0.732 -0.015 -0.27 ...
$ h36 : num 1.44 1.795 1.627 0.385 0.91 ...
$ h42 : num 1.49 1.385 1.397 0.305 1.12 ...
> head(mUnique)
ID h0 h6 h12 h18 h24 h30 h36 h42
1 mal_mito_1 0.1800 -0.0400 -0.8600 -0.7300 0.0400 -0.1400 1.4400 1.4900
2 mal_mito_2 -0.0250 -0.3050 -1.1050 -1.2150 0.0250 1.2750 1.7950 1.3850
3 mal_mito_3 0.2125 -0.1875 -1.0075 -1.2225 -0.1425 0.7325 1.6275 1.3975
4 mal_rna_10_rRNA 0.0150 -0.1850 -1.0450 -0.3550 0.2950 -0.0150 0.3850 0.3050
5 mal_rna_11_rRNA 0.1200 -0.0900 -0.9100 -0.6500 0.0900 -0.2700 0.9100 1.1200
6 mal_rna_14_rRNA 0.0200 -0.0200 -0.8400 -0.6600 0.1700 -0.0900 0.6200 0.0800
smooth.spline
,到目前为止它看起来不错(我想要 48 分。我稍后会弄清楚如何使用
spline()
smoooth.spline
):
> time <- c(0,6,12,18,24,30,36,42)
> plot(time, mUnique[1, 2:9])
> smooth <- smooth.spline(time, mUnique[1, 2:9])
> lines(smooth, col="blue")
> splin <-spline(time, mUnique[1, 2:9], n=48)
> lines(splin, col="blue")
spar
或
smooth.spline()
应用于整个数据帧,并返回一个矩阵 4565 * 49,其中我有平滑样条曲线的每个节点的坐标?我真的不在乎绘制这些数据。
> smooth <- smooth.spline(time, mUnique[, 2:9]|factor(ID))
最佳答案
使用对象 dat
中的数据片段,我们可以做(我认为)你想做的事情。首先,我们编写了一个小包装函数,通过 smooth.spline()
拟合平滑样条,然后预测来自该样条的一组 n
位置的响应。您要求提供 n = 48
,因此我们将使用它作为默认值。
这是一个这样的包装函数:
SSpline <- function(x, y, n = 48, ...) {
## fit the spline to x, and y
mod <- smooth.spline(x, y, ...)
## predict from mod for n points over range of x
pred.dat <- seq(from = min(x), to = max(x), length.out = n)
## predict
preds <- predict(mod, x = pred.dat)
## return
preds
}
> res <- SSpline(time, dat[1, 2:9])
> res
$x
[1] 0.000000 0.893617 1.787234 2.680851 3.574468 4.468085 5.361702
[8] 6.255319 7.148936 8.042553 8.936170 9.829787 10.723404 11.617021
[15] 12.510638 13.404255 14.297872 15.191489 16.085106 16.978723 17.872340
[22] 18.765957 19.659574 20.553191 21.446809 22.340426 23.234043 24.127660
[29] 25.021277 25.914894 26.808511 27.702128 28.595745 29.489362 30.382979
[36] 31.276596 32.170213 33.063830 33.957447 34.851064 35.744681 36.638298
[43] 37.531915 38.425532 39.319149 40.212766 41.106383 42.000000
$y
[1] 0.052349585 0.001126837 -0.049851737 -0.100341294 -0.150096991
[6] -0.198873984 -0.246427429 -0.292510695 -0.336721159 -0.378381377
[11] -0.416785932 -0.451229405 -0.481006377 -0.505411429 -0.523759816
[16] -0.535714043 -0.541224748 -0.540251293 -0.532753040 -0.518689349
[21] -0.498019582 -0.470750611 -0.437182514 -0.397727107 -0.352796426
[26] -0.302802508 -0.248157388 -0.189272880 -0.126447574 -0.059682959
[31] 0.011067616 0.085850805 0.164713260 0.247701633 0.334851537
[36] 0.425833795 0.519879613 0.616194020 0.713982047 0.812448724
[41] 0.910799082 1.008296769 1.104781306 1.200419068 1.295380186
[46] 1.389834788 1.483953003 1.577904960
> plot(time, dat[1, 2:9])
> lines(res, col = "blue")
$y
返回的对象的
SSpline()
组件。为此,我们使用
apply()
:
> res2 <- apply(dat[, 2:9], 1,
+ function(y, x, ...) { SSpline(x, y, ...)$y },
+ x = time)
> head(res2)
1 2 3 4 5 6
[1,] 0.052349585 -0.02500000 0.21250000 -0.06117869 -0.02153366 -0.02295792
[2,] 0.001126837 -0.04293509 0.17175460 -0.10994988 -0.06538250 -0.06191095
[3,] -0.049851737 -0.06407856 0.12846458 -0.15838412 -0.10899505 -0.10074427
[4,] -0.100341294 -0.09168227 0.08005550 -0.20614476 -0.15213426 -0.13933920
[5,] -0.150096991 -0.12899810 0.02395291 -0.25289514 -0.19456304 -0.17757705
[6,] -0.198873984 -0.17927793 -0.04241763 -0.29829862 -0.23604434 -0.21533911
res2
包含 48 行 6 列,6 列是指这里使用的
dat
的每一行。如果你想反过来,只需转置
res2
:
t(res2)
。
matplot()
调用来查看已经完成的操作:
> matplot(x = seq(min(time), max(time), length = 48),
+ y = res2, type = "l")
关于r - 如何将 spline() 应用于大型数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470983/
我有几个数据点似乎适合于通过它们拟合样条曲线。当我这样做时,我得到了一个非常坎bump的拟合,例如过度拟合,这不是我所理解的平滑。 是否有特殊的选项/参数来恢复像here这样的非常平滑的样条曲线的功能
在生产环境中运行 Angular 6 时出现此错误。 91%额外的 Assets 处理脚本-webpack-plugin✖「wdm」: Error: ENOENT: no such file or d
张力与三次样条插值有何关系?我指的是this article用于三次样条插值。第一个结点的张力系数 t=0,最后一个结点的张力系数 t=1。但是我们可以在哪里替换三次样条中的其他张力值,例如 0.1、
我是 R 的新手,我正在尝试将 smooth.spline() 应用于大型数据帧。我查看了相关线程(“将 n 个函数的列表应用于数据帧的每一行”,“如何应用样条基矩阵”,...)。这是我的数据框以及我
我知道平滑参数(lambda)对于拟合平滑样条曲线非常重要,但是我在这里没有看到有关如何选择合理的lambda(spar =?)的任何文章,有人告诉我spar通常在0到1的范围内。当使用smooth.
我需要一个插值函数来插值一个点: var times = new List(); var offsets = new List(); .. .. ..//I fill times and offset
我尝试了几种不同的开箱即用选项来平滑我的数据中的一个步骤,但还没有完全找到我所追求的。在下面粘贴一个小的可复制示例。正如下面的屏幕截图中突出显示的,是否有一个 R 函数可以平滑步骤,类似于 smoot
我使用smooth.spline来估计我的数据的三次样条。但是当我使用方程计算 90% 逐点置信区间时,结果似乎有点偏差。有人可以告诉我我是否做错了吗?我只是想知道是否有一个函数可以自动计算与 smo
我想对一些数据进行平滑样条拟合,我注意到内部计算的 LOOCV 误差似乎取决于数据是否无序。具体来说,我只在订购数据时得到预期的结果。 我不明白为什么会出现这种情况?有帮助吗? set.seed(0)
我正在尝试在 Windows 中安装 Apache Spline。我的 Spark 版本是 2.4.0Scala 版本为 2.12.0我按照这里提到的步骤 https://absaoss.github
我正在准备一些代码来用样条插入一系列点。 有many kinds样条:二次,三次,许多边界条件...... 到目前为止,我已经尝试了最流行的:三次样条,边界条件: 自然:二阶导数在第一点和最后点为零。
下图中,Matlab中使用spap2函数来平滑噪声数据。结果非常好。 Eigen 库支持此功能 Splines 。我正在寻找 Eigen 中的示例以获得类似的结果。对于 Matlab,我使用了 spa
我想在 R 中平滑非常长、嘈杂的数据。但我发现对于高度周期性的数据,开箱即用的 smooth.spline() 很快就会崩溃,平滑后的数据开始出现振铃现象。 考虑一个余弦时间序列(有或没有噪声) t
我对它们之间的关系有点困惑。在我的课上,我的教授询问如何使用自动计算的切线将 C1 连续分段 Hermite 曲线拟合到 x 个点。有人可以解释这是如何工作的吗? 最佳答案 埃尔米特样条是 的一种方法
我找到了 2012 年 Android API 的 Spline 实现: https://android.googlesource.com/platform/frameworks/base/+/mas
我有一个效果很好的 highcharts 样条图。我改变了一些 ajax 调用,现在它不会绘制连接前 30 个左右点的线。它只是绘制点一段时间,然后线条就出现了。我更关心线条而不是点。 有谁知道为什么
我想在我的屏幕上生成一个随机样条。这是我目前所拥有的: public class CurvedPath { Random rn; CatmullRomSpline curve; float[] xPt
我有严格增加的数据,并希望拟合一个单调增加的平滑样条曲线以及 smooth.spline()由于此功能的易用性,请尽可能使用该功能。 例如,我的数据可以通过示例有效地重现: testx <- 1:10
有没有办法计算在 R 中具有平滑样条曲线(或类似曲线)的特定点的曲率? 该曲线是根据一组 x,y 点计算的。 先感谢您。 最佳答案 如果您知道有一个 predict(),这实际上很容易。 smooth
我有一个月度图表(在 highcharts 中制作),其中有两个 SPLINE 系列。我想为图表中的系列添加随机文本(基于系列的随机位置),我怎样才能实现这一点。 我希望它看起来像这样。 最佳答案 您
我是一名优秀的程序员,十分优秀!