0

我在 R 中构建了一个返回数据框的函数。当我单独执行函数体时,它可以正常工作,但是当我尝试从另一个脚本调用函数时,出现以下错误:

Error in matrix(NA_character_, nrow = nrow(indt), ncol = Ncol) : 
  invalid 'ncol' value (too large or NA)
In addition: Warning messages:

1: In max(unlist(lapply(SetUp, function(y) y[["Mat"]][, 2]), use.names = FALSE)) :
  no non-missing arguments to max; returning -Inf

2: In matrix(NA_character_, nrow = nrow(indt), ncol = Ncol) :

Error in matrix(NA_character_, nrow = nrow(indt), ncol = Ncol) : 
  invalid 'ncol' value (too large or NA)

如果检查回溯,我发现以下内容:

5.matrix(NA_character_, nrow = nrow(indt), ncol = Ncol) 

4.FUN(X[[i]], ...) 

3.lapply(seq_along(SetUp), function(y) {
    M <- matrix(NA_character_, nrow = nrow(indt), ncol = Ncol)
    M[SetUp[[y]][["Mat"]]] <- SetUp[[y]][["Val"]]
    M ... 

2. cSplit(individuals, "text", ",") at functions.r#33

1. processFile(folder, file)

所以它似乎发生在cSplit函数内部。

此外,当我在 MacOS 中执行代码时,函数调用正常工作。该问题仅发生在 Windows 环境中。

在 Windows 中使用 R 4.1.1

谢谢!

4

0 回答 0