You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中从平滑曲线获取等距值并保存到数据框?

从平滑曲线获取等距值并保存为DataFrame

你可以通过以下步骤实现需求:

步骤1:生成等距的x序列

先锁定原始x数据的范围,用seq()函数生成步长为0.1的等距x值:

# 生成等距x序列,步长0.1
x_seq <- seq(min(x), max(x), by = 0.1)

步骤2:预测平滑曲线上对应的y值

用predict()函数对smooth.spline拟合结果做预测,得到等距x对应的平滑y值:

# 预测等距x对应的平滑y值
smooth_pred <- predict(smooth, x = x_seq)

步骤3:转换为DataFrame

把预测结果整理成标准的DataFrame格式:

# 转换为dataframe
smooth_df <- data.frame(
  x = smooth_pred$x,
  y = smooth_pred$y
)

# 查看前几行结果
head(smooth_df)

完整示例代码

整合所有步骤,加上可视化验证提取的等距点:

library(ggplot2)

# 原始数据
x <- runif(100, 0, 2*pi)
y <- sin(x)

# 拟合平滑曲线
smooth <- smooth.spline(x, y, df = 4)

# 生成等距x序列
x_seq <- seq(min(x), max(x), by = 0.1)

# 预测并转为dataframe
smooth_pred <- predict(smooth, x = x_seq)
smooth_df <- data.frame(x = smooth_pred$x, y = smooth_pred$y)

# 可视化验证:原始点+平滑曲线+等距点
ggplot() +
  geom_point(aes(x = x, y = y), color = "red", size = 1) +
  geom_line(aes(x = smooth$x, y = smooth$y), color = "blue", alpha = 0.7) +
  geom_point(aes(x = smooth_df$x, y = smooth_df$y), color = "green", size = 2, shape = 8)

代码里的绿色星号点就是提取出的等距值,你可以直接用smooth_df做后续分析或保存。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 04:12:03