首页 > 解决方案 > 在 R 中将 fd 转换为 fData

问题描述

我需要在 fd 对象中使用 MBD(修改带深度),但它变得越来越复杂。我一直在尝试从我的 fd 对象中提取数据,但我找不到它们,尽管我在应用某些函数时得到了结果。问题是我有两个 fd 数据库,我需要迭代粘贴它们,所以 fd 数据没有用。有谁知道如何将 fd 对象转换为 fData 对象。

太感谢了。

标签: r

解决方案


正确的。fd 和 fData 是函数数据的对象,我在 fd 对象中有两个函数数据集,比如 X 和 Y。我需要计算这些数据的修正带深 (MBD),包括对彼此的每个观察。我的意思是,对于 XI 中的每条曲线,必须创建一个功能数据集,将 Y 中的所有观察值与 X 中的观察值结合起来。我需要多次执行此操作,问题是 MBD 函数仅适用于 fData 对象。我无法进行从 fd 到 fData 的转换。

SE_hat_U<-fd(basisobj=BSpl)

for(i in 1:61){
SE_hat_U$coefs<-cbind(SE_hat_U$coefs, sm[[i]]$fd$coefs)
}

SE_hat_U$fdnames$reps<-(1:61)
X<-SE_hat_U[as.numeric(NT$Id)]
Y<-SE_hat_U[!datos$Id%in%(NT$Id)]

这是我拥有的代码,但我不知道如何将 SE_hat_U 转换为 fData 对象而不是 fd 对象。


推荐阅读