如果那里已经有了答案我道歉...我看了但找不到一个.
我试图将因子矩阵转换为对应于列的每个因子值的数字矩阵.简单吧?然而,当我尝试这样做时,我遇到了各种非常奇怪的问题.
让我解释.这是一个示例数据集:
demodata2 <- matrix(c("A","B","B","C",NA,"A","B","B",NA,"C","A","B",NA,"B",NA,"C","A","B",NA,NA,NA,"B","C","A","B","B",NA,"B","B",NA,"B","B",NA,"C","A",NA), nrow=6, ncol=6)
democolnames <- c("Q","R","S","T","U","W")
colnames(demodata2) <- democolnames
Run Code Online (Sandbox Code Playgroud)
产量:
Q R S T U W
[1,] "A" "B" NA NA "B" "B"
[2,] "B" "B" "B" NA "B" "B"
[3,] "B" NA NA NA NA NA
[4,] "C" "C" "C" "B" "B" "C"
[5,] NA "A" "A" "C" "B" "A"
[6,] "A" "B" "B" "A" NA NA
Run Code Online (Sandbox Code Playgroud)
好.所以我想要的是:
Q R S T U W
1 1 2 <NA> <NA> 1 2
2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个脚本来优化线性回归分析,我真的想对模型输出进行操作,最具体的是Pr(> | t |)值.不幸的是,我不知道如何将模型输出到矩阵或数据表中.
这是一个例子:在下面的代码中,我创建了七列数据,并使用其他六个数据拟合第七列.当我得到模型的摘要时,很明显三个参数比其他三个参数更重要.如果我可以用数字方式访问系数输出,我可以创建一个脚本来删除最不重要的参数并重新运行分析......但是就这样,我手动执行此操作.
做这个的最好方式是什么?
非常感谢您的帮助.
q = matrix(
c(2,14,-4,1,10,9,41,8,13,2,0,20,3,27,1,10,-1,0,
10,-6,23,6,13,-8,1,15,-7,55,7,14,10,0,20,-3,6,4,20,
-1,5,19,-2,48,10,19,8,8,10,-2,24,8,13,9,8,14,5,7,7,
12,1,0,16,7,27,7,10,-1,1,15,7,31,2,20,-5,10,12,3,57,
0,19,-8,8,11,-4,63,5,11,7,8,10,-7,6,9,10,-7,2,19,8,
51,2,18,3,3,14,4,30), nrow=15, ncol=7, byrow = TRUE)
#
colnames(q) <- c("A","B","C","D","E","F","Z")
#
q <- as.data.frame(q)
#
qmodel <- lm(Z~.,data=q)
#
summary(qmodel)
#
Run Code Online (Sandbox Code Playgroud)
输出:
Call:
lm(formula = Z ~ ., data = q)
Residuals:
Min 1Q Median 3Q Max
-1.25098 -0.52655 -0.02931 0.62350 1.26649
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.09303 1.51627 -1.380 0.205
A 0.91161 0.11719 7.779 5.34e-05 ***
B 1.99503 0.09539 20.914 2.87e-08 …Run Code Online (Sandbox Code Playgroud)