【发布时间】:2017-03-30 14:36:42
【问题描述】:
当我运行下面的代码时,我收到:
"Error in coef(summary(linear))[6, 1] : subscript out of bounds
这是我运行的代码:
setwd("E:/test_analysis/TNBC")
data=read.table("gene_snp_regression.csv",header=T,sep=",")
result <- NULL
for (i in 10:708){
linear <- lm(data[, 6] ~
data[,2]+data[,3]+data[,4]+data[,5]+data[,i], data = data)
x.inv <- try(solve(coef(summary(linear))[6,4]),silent = TRUE)
if ("try-error" %in% class(x.inv)) pvalue <- "NA"
else pvalue <- coef(summary(linear))[6,4]
beta <- coef(summary(linear))[6,1]
X <- cbind(beta, pvalue)
result <- rbind(result, X)
}
write.csv(result,"sig1_genesnp.csv",row.names = T, quote = F)
我想得到估计值“data[, i]”
Estimate Std. Error t value Pr(>|t|)
(Intercept) 158.98784 54.67884 2.9076665 3.959462e-03
data[, 2] 11.72500 14.42698 0.8127131 4.171348e-01
data[, 3] 14.22904 14.53601 0.9788822 3.285587e-01
data[, 4] -52.44000 13.25313 -3.9567994 9.832974e-05
data[, 5] -23.63112 13.88214 -1.7022681 8.991430e-02
data[, i] 12.74142 10.06581 1.2658112 2.067270e-01
但在我运行代码后,我收到:“coef(summary(linear))[6, 1] 中的错误:下标越界。
这里是coef的结构(summary(linear))
str(coef(summary(linear)))
num [1:6, 1:4] 159 11.7 14.2 -52.4 -23.6 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:6] "(Intercept)" "data[, 2]" "data[, 3]" "data[, 4]" ...
..$ : chr [1:4] "Estimate" "Std. Error" "t value" "Pr(>|t|)"
【问题讨论】:
-
你看过
coef(summary(linear))的结构吗? -
请编辑您原来的问题。
-
是的,我得到的 coef(summary(linear)) 与我在上面粘贴的结果完全一样。但是当我运行整个代码时,我得到了错误并且错过了正确的 pvalue 和 Estimate 值。
-
你能粘贴输出的结构(
str())吗? -
请不要使用 cmets 来分享您的结果。编辑您的原始问题。你可以花几分钟的时间来了解一下stackoverflow works。
标签: r error-handling