R语言错误信息:In xtfrm.data.frame(x) : cannot xtfrm data frames

问题遇到的现象和发生背景

在《R语言实战》中执行“相对权重”代码时出现了一个错误,以下是代码

问题相关代码,请勿粘贴截图
relweights<-function(fit,...){
  r<-cor(fit$model)
  nvar<-ncol(r)
  rxx<-r[2:nvar,2:nvar]
  rxy<-r[2:nvar,1]
  svd<-eigen(rxx)
  evec<-svd$vectors
  ev<-svd$values
  delta<-diag(sqrt(ev))
  lambda<-evec%*%delta%*%t(evec)
  lambdasq<-lambda^2
  beta<-solve(lambda)%*%rxy
  rsquare<-colSums(beta^2)
  rawwgt<-lambdasq%*%beta^2
  import<-(rawwgt/rsquare)*100
  import<-as.data.frame(import)
  row.names(import)<-names(fit$model[2:nvar])
  names(import)<-"权重"
  import<-import[order(import),1,drop=FALSE]
  dotchart(import$"权重",labels=row.names(import),
           xlab = "决定系数%",pch = 19,
           main="预测变量的相对重要性",
           sub=paste("总决定系数=",round(rsquare,digits = 3)),
           ...)
  return(import)
}
运行结果及报错内容

带入了一个线性模型,得到了和书本上不一样的情况:
Warning message:
In xtfrm.data.frame(x) : cannot xtfrm data frames

我的解答思路和尝试过的方法

我怀疑是将import转换为数据框时出现了问题,依据这个错误的提示,在github上找到了一个解答方法
isodfSorted <- do.call(rbind,lapply(seq_len(nrow(isodfSorted)),
function(x) { sort(unlist(isodfSorted[x,])) }
))
我将其中isodfSorted替换为import后取代原来的代码,导致函数无法运行。
R版本4.2.0

我想要达到的结果

希望找到解决这个错误的方法