R:多元回归错误(在需要的地方缺少 true/false)
R: Multiple Regression Error (Missing true/false where needed)
我的失败运行的 R sessionInfo():
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils
[5] datasets methods base
other attached packages:
[1] caper_0.5.2 mvtnorm_1.0-2 MASS_7.3-35
[4] gsubfn_0.6-6 proto_0.3-10 picante_1.6-2
[7] nlme_3.1-118 vegan_2.2-1 lattice_0.20-29
[10] permute_0.8-3 ape_3.2
loaded via a namespace (and not attached):
[1] cluster_1.15.3 grid_3.1.2 Matrix_1.1-4
[4] mgcv_1.8-3 parallel_3.1.2 tcltk_3.1.2
[7] tools_3.1.2
我正在努力隔离哪些变量导致交互时的特定失败。 (更新:没有特定的预测因子,它只是超过由物种数量确定的阈值的预测因子的数量)
我有一个错误似乎是 R 中 "caper" 包的内部错误。确切的错误是:
Error in if (any(stRes > robust)) { : missing value where TRUE/FALSE needed
Where the error occurs on this line of code:
crunchMod <- crunch(f, data = contrasts)
使用下面的 dataSet1.txt
和 7 个预测变量,我发现回归与 )
、)^2
和 )^3
完美配合。使用下面的 dataSet2.txt
和 12 个预测变量,我发现只有 ")" 有效并且 )^2
和 )^3
都会产生上面的错误。这是重现我的错误所需的最少代码:
library(caper)
library(ape)
setwd("Your_Directory")
caperDS <- read.table("dataSet1.txt", header = TRUE) #Also include "dataSet2.txt"
myTrees = read.nexus("Tree1.tre") #Also include "Tree2.tre"
contrasts <- comparative.data(myTrees, caperDS, Species)
f <- as.formula(paste(paste(names(caperDS)[2],"~"), paste(paste("(",paste(names(caperDS)[3:ncol(caperDS)], collapse="+"))),")^3")) #Vary this between ")", ")^2" and ")^3"
crunchMod <- crunch(f, data = contrasts)
print(summary(crunchMod))
由于花费了 space,我已经编辑了之前提供的数据。由于现在很明显这个错误是一个普遍问题(见下文),您可以在 http://cran.r-project.org/web/packages/caper/vignettes/caper.pdf
中找到要检查引用的数据集
好的,所以我做了很多实验,答案几乎可以肯定是我在 crunch() 函数中放入了太多预测变量,它 "broke"。它可以接受的预测变量的数量取决于数据集中存在的受试者数量。
我得出这个结论是因为我删除了哪些预测因素并不重要;随机删除一些就足够了。但是,我不明白为什么 crunch() 函数会在这种情况下产生错误而不是和平退出(假设行为是有意的)。如果有人可以在 comment/subsequent 的回答中进一步详细说明,我将不胜感激。
我的失败运行的 R sessionInfo():
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils
[5] datasets methods base
other attached packages:
[1] caper_0.5.2 mvtnorm_1.0-2 MASS_7.3-35
[4] gsubfn_0.6-6 proto_0.3-10 picante_1.6-2
[7] nlme_3.1-118 vegan_2.2-1 lattice_0.20-29
[10] permute_0.8-3 ape_3.2
loaded via a namespace (and not attached):
[1] cluster_1.15.3 grid_3.1.2 Matrix_1.1-4
[4] mgcv_1.8-3 parallel_3.1.2 tcltk_3.1.2
[7] tools_3.1.2
我正在努力隔离哪些变量导致交互时的特定失败。 (更新:没有特定的预测因子,它只是超过由物种数量确定的阈值的预测因子的数量)
我有一个错误似乎是 R 中 "caper" 包的内部错误。确切的错误是:
Error in if (any(stRes > robust)) { : missing value where TRUE/FALSE needed
Where the error occurs on this line of code:
crunchMod <- crunch(f, data = contrasts)
使用下面的 dataSet1.txt
和 7 个预测变量,我发现回归与 )
、)^2
和 )^3
完美配合。使用下面的 dataSet2.txt
和 12 个预测变量,我发现只有 ")" 有效并且 )^2
和 )^3
都会产生上面的错误。这是重现我的错误所需的最少代码:
library(caper)
library(ape)
setwd("Your_Directory")
caperDS <- read.table("dataSet1.txt", header = TRUE) #Also include "dataSet2.txt"
myTrees = read.nexus("Tree1.tre") #Also include "Tree2.tre"
contrasts <- comparative.data(myTrees, caperDS, Species)
f <- as.formula(paste(paste(names(caperDS)[2],"~"), paste(paste("(",paste(names(caperDS)[3:ncol(caperDS)], collapse="+"))),")^3")) #Vary this between ")", ")^2" and ")^3"
crunchMod <- crunch(f, data = contrasts)
print(summary(crunchMod))
由于花费了 space,我已经编辑了之前提供的数据。由于现在很明显这个错误是一个普遍问题(见下文),您可以在 http://cran.r-project.org/web/packages/caper/vignettes/caper.pdf
中找到要检查引用的数据集好的,所以我做了很多实验,答案几乎可以肯定是我在 crunch() 函数中放入了太多预测变量,它 "broke"。它可以接受的预测变量的数量取决于数据集中存在的受试者数量。
我得出这个结论是因为我删除了哪些预测因素并不重要;随机删除一些就足够了。但是,我不明白为什么 crunch() 函数会在这种情况下产生错误而不是和平退出(假设行为是有意的)。如果有人可以在 comment/subsequent 的回答中进一步详细说明,我将不胜感激。