使用显示的输出 varImp(plsFitvac) 是 格式化 并显示一些缩写级别的精度:
varImp(plsFitvac)
> format(9.515726, digits = 4) [1] "9.516"
尝试使用各种值 digits 在这段代码中:
digits
format(varImp(plsFit)$importance, digits = 4)
你应该能够看到它们是相同的值。
打印数据框时, print.data.frame 使用 digits = getOption("digits") 而 print.varImp.train 使用 max(3, getOption("digits") - 3) 。
print.data.frame
digits = getOption("digits")
print.varImp.train
max(3, getOption("digits") - 3)
默认值为 getOption("digits") 让我头疼,这是我的功能是它的方式。
getOption("digits")
编辑:如果问题是关于排序,那么函数对这些排序的方式是为每个预测变量找到各个类的最大重要性,并根据它进行排序。还有一点(如果是关系等)并且代码在未记录的内部函数中 sortImp 。此代码应该接近该函数:
sortImp
vi$max <- apply(vi, 1, max) vi[order(-vi$max),]
马克斯
尝试使用,write.csv2(varImp(vi),“vi.csv”) 你可以在excel中进行排序。