运行此代码时:
predict(rfm, x[split.idx[[i]], sig_otu], type="prob")
我收到此错误消息:
Error in x[, vname, drop = FALSE] : subscript out of bounds
错误信息是否因错误包围而产生?我已经尝试重新安排括号,添加括号等。但是,我仍然会收到此错误消息。
split.idx是一个8的列表 STR(split.idx)
List of 8
$ 1: Named int [1:10] 2 3 13 17 34 40 72 70 30 27
..- attr(*, "names")= chr [1:10] "01" "09" "017" "025" ...
$ 2: Named int [1:10] 21 32 67 52 12 55 36 37 24 31
..- attr(*, "names")= chr [1:10] "02" "010" "018" "026" ...
$ 3: Named int [1:10] 49 58 64 8 54 62 1 41 39 35
..- attr(*, "names")= chr [1:10] "03" "011" "019" "027" ...
$ 4: Named int [1:10] 46 59 20 43 47 4 57 76 33 29
..- attr(*, "names")= chr [1:10] "04" "012" "020" "028" ...
$ 5: Named int [1:10] 42 45 69 71 44 38 7 10 9 78
..- attr(*, "names")= chr [1:10] "05" "013" "021" "029" ...
$ 6: Named int [1:10] 15 5 73 61 63 25 28 48 53 14
..- attr(*, "names")= chr [1:10] "06" "014" "022" "030" ...
$ 7: Named int [1:10] 68 6 23 11 65 16 66 26 22 56
..- attr(*, "names")= chr [1:10] "07" "015" "023" "031" ...
$ 8: Named int [1:9] 51 60 74 75 50 19 77 18 79
..- attr(*, "names")= chr [1:9] "08" "016" "024" "032" ...
这是变量sig_otu的类型:
str(sig_otu)
Named int [1:56] 12 26 44 50 79 131 144 178 240 253 ...
- attr(*, "names")= chr [1:56] "" "" "" "" ...
这是分配给rfm的值:
rfm <- randomForest(x[-split.idx[[i]]], sig_otu], y[-split.idx[[i]]])
X是一个带有暗淡[1] 79,1924的大矩阵。
Y是离散因子,长度为79和2级。
我希望我的问题足够明确,可以回答。
i
是指我之前在代码中运行的这一行:for(i in 1:k)
,我设置k = 8.
> dim(x)[2]
[1] 1924
> max(sig_otu)
[1] 1921
答案 0 :(得分:0)
对我有用的东西是: