R 拟合闭合曲线,然后从该曲线绘制等距点

R 拟合闭合曲线,然后从该曲线绘制等距点,r,R,我试图得到一条闭合曲线,它必须精确地走 通过所有点(如下所示),并尝试使用R从图形中获得100个等距点样本。第一个点和最后一个点可以连接起来以获得闭合曲线 这里是一个设定点 X Y -0.04494395 -0.051481617 -0.01102178 -0.032550217 0.01193315 -0.072318417 0.04585535 -0.053448067 0.07975850 -0.034595817 0.05682070 0.005

我试图得到一条闭合曲线,它必须精确地走 通过所有点(如下所示),并尝试使用R从图形中获得100个等距点样本。第一个点和最后一个点可以连接起来以获得闭合曲线

这里是一个设定点

X            Y
-0.04494395  -0.051481617
-0.01102178  -0.032550217
0.01193315   -0.072318417
0.04585535   -0.053448067
0.07975850   -0.034595817
0.05682070   0.005183833
0.03377230   0.045034983
0.01057130   0.085048283
-0.02335468  0.066181283
-0.05729975  0.047296183
-0.03407970  0.007294283
-0.06801145  -0.011644717
我想使用样条曲线拟合(而不是回归)。在这方面有人能帮我吗? 以下是迄今为止所尝试的

d=splinefun(x, y,method = c("natural"))

我在这里卡住了:如何从这个函数中获得100个等距点?

也许这让你开始了。
xspline
函数允许创建闭合样条曲线-尽管我不确定如何控制插值点的数量。演示
xspline
函数的使用

df <- read.table(text="
   x         y
                 -0.04494395 -0.051481617
                 -0.01102178 -0.032550217
                 0.01193315 -0.072318417
                 0.04585535 -0.053448067
                 0.07975850 -0.034595817
                 0.05682070  0.005183833
                 0.03377230  0.045034983
                 0.01057130  0.085048283
                 -0.02335468  0.066181283
                 -0.05729975  0.047296183
                 -0.03407970  0.007294283
                 -0.06801145 -0.011644717
                 ",
                 header=TRUE
)


plot(y ~ x, df)
spl <- xspline(df$x, df$y, open=FALSE, shape = -0.5, draw=FALSE) 
lines(spl)

df将形成100多个积分,但我认为这符合您的目标:

    df <- read.table(text="
   x         y
                 -0.04494395 -0.051481617
                 -0.01102178 -0.032550217
                 0.01193315 -0.072318417
                 0.04585535 -0.053448067
                 0.07975850 -0.034595817
                 0.05682070  0.005183833
                 0.03377230  0.045034983
                 0.01057130  0.085048283
                 -0.02335468  0.066181283
                 -0.05729975  0.047296183
                 -0.03407970  0.007294283
                 -0.06801145 -0.011644717
                 ",
                 header=TRUE
)


xy<-xspline(df$x,df$y,draw = F,shape = -0.5,open = F)
xy

plot(xy$x,xy$y)

xspline(df$x,df$y,open = F,shape = -0.5)

感谢马克的回答。这不是一条闭合曲线。我需要一条非自交闭合曲线。问题中给出的坐标是按照这个顺序排列的。很抱歉误解了-上面是一个例子,但不幸的是,我不知道如何将点数设置为100没有问题。非常感谢上面的示例。使用此处给出的答案可以解决此问题:>