R中的地球包: 您好,我正在运行循环从我的主数据库中提取1000个数据子集并运行一系列基于MARS的测试,然后我在df中进行总结。我想拉出evimp返回值(rows = variable name,cols = #subsets,GCV,RSS),它们为每次运行排序输入变量的重要性。但是,我无法将这些值提取或添加到数据帧,因为它是一个“evimp”类。我如何提取这些值并将它们放入表中?
答案 0 :(得分:1)
evimp类确实使得获取数据变得更加困难,但unclass
会将其转换为您可以处理的矩阵。
示例:
library(earth)
data(ozone1)
earth.mod <- earth(O3 ~ ., data=ozone1, degree=2)
ev <- evimp(earth.mod, trim=FALSE)
evdf = as.data.frame(unclass(ev[,c(3,4,6)]))
evdf
nsubsets gcv rss
temp 11 100.000000 100.00000
humidity 9 35.667541 38.88609
ibt 7 31.618413 33.98691
doy 7 31.618413 33.98691
ibh 6 33.432738 36.02932
dpg 6 27.452997 29.75686
vis 5 21.426773 24.09804
wind 2 10.263603 12.59467
vh 1 5.324573 7.65049