R语言数据类型出错求解答

R语言在做信息份额模型过程中,代码运行报错显示cannot coerce type 'builtin' to vector of type 'character'

用的是ifrogs的packagezh中的pdshare函数
具体代码如下

pdshare <- function(x, override.lags = NULL, lag.max = 10) {
  stopifnot(ncol(X)==2)
  stopifnot(is.numeric(x[,1]))
  stopifnot(is.numeric(x[,2]))
 
  
  if (is.null(override.lags)){
    if(lag.max<4) stop("Minimum lags should be 4")
  } else {
    if(override.lags<4) stop("Minimum lags should be 4")
  }
  cnames <- colnames(x)
  pdshare.computation <- function(x, nlag) {
    cointest <- ca.jo(x, K = 4, type = "eigen", ecdet = "const",
                      spec = "transitory")  
      
          k <- cointest@lag
          vecm <- cajorls(cointest)
          varm <- vec2var(cointest)
          vma <- Psi(varm)
          
    beta.ort <- as.vector(c(-cointest@V[2,1], cointest@V[1,1]))
    alpha.ort <- as.vector(c(-cointest@W[2,1], cointest@W[1,1]))   
    aa <- bb <- cc <- dd <- 0
    for (i in 1:(k-1)) {
      aa <- aa + vecm$rlm$coefficients[2*i,1]
      bb <- bb + vecm$rlm$coefficients[2*i+1,1]
      cc <- cc + vecm$rlm$coefficients[2*i,2]
      dd <- dd + vecm$rlm$coefficients[2*i+1,2]
    }
    gamma.1 <- matrix(c(1-aa, -bb, -cc, 1-dd), nrow = 2, ncol = 2, byrow
                      = TRUE) 
    
    b <- as.numeric(t(alpha.ort) %*% gamma.1 %*% beta.ort)
    psi <- (beta.ort %*% t(alpha.ort))/b
    f <- vma[,,1]
    omega <- f %*% t(f)
    psi <- t(psi[1,])
    n <- psi %*% f
    d <- psi %*% omega %*% t(psi)
    
    list(ishares = c((n[, 1]^2)/d, (n[, 2]^2)/d), alpha.ort = alpha.ort, 
         omega = omega, lags = varm$p)
  }
  if (is.null(override.lags)) {
    nlag <- MVARselect(X, lag.max = 10)$selection[1]
  }
  else {
    nlag <- override.lags
  }  
  tmp <- pdshare.computation(x, nlag)
  is.original.ordering <- as.data.frame(tmp$ishares)
  component.share <- as.data.frame(abs(tmp$alpha.ort)/sum(abs(tmp$alpha.ort)))
  var.covar.matrix <- tmp$omega
  lags.used <- tmp$lags
  tmp <- pdshare.computation(x[,c(2,1)], nlag)
  is.reversed.ordering <- as.data.frame(tmp$ishares)
  
  
  rownames(var.covar.matrix) <- colnames(var.covar.matrix) <-
    rownames(component.share) <- rownames(is.original.ordering) <- cnames
  rownames(is.reversed.ordering) <- c(cnames[2], cnames[1])
  colnames(is.original.ordering) <- c
    "IS" 
  colnames(component.share) <- "CS"
  
  
  list(is.original.ordering = is.original.ordering,
       is.reversed.ordering = is.reversed.ordering,
       component.share = component.share,
       var.covar.matrix = var.covar.matrix,
       lags.used = lags.used)


最终报错显示 Error in as.character(.Primitive("c")) :
cannot coerce type 'builtin' to vector of type 'character

应该是数据格式转换出了问题,但是不知道怎么解决,请各位指导

你把报错复制到记事本,嗯,还有代码都发给我

参考下下面的链接
https://cran.r-project.org/doc/manuals/r-release/R-data.html#Data-types