我在 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
谢谢!