我正在尝试获取估算值和标准值的数值。错误的摘要对象,但我在应用中访问错误的行(我认为)。我该如何解决这个问题?
require(MASS)
colnames(Cars93)
ll<-lm(Fuel.tank.capacity~Length*Passengers,data=Cars93)
s<-summary(ll)$coeff
apply(s,1,function(x){
paste(x[1]+3,x[2]+3) #trying to return intercept and length for each row
})
目标:
-8.18 17.93
0.11 0.09
.....
答案 0 :(得分:3)
对象的'是矩阵
is.matrix(S)
[1] TRUE
因此,您可以通过以下方式从此对象中提取拦截和标准错误:
s[,1:2]
Estimate Std. Error
(Intercept) -8.180069747 17.93108069
Length 0.119717136 0.09943864
Passengers -0.008363972 3.55247973
Length:Passengers 0.003146143 0.01941267
答案 1 :(得分:1)
以下代码应该可以满足您的需求:
t(apply(s,1,function(x){
c(x[1],x[2])
}))
Estimate Std. Error
(Intercept) -8.180069747 17.93108069
Length 0.119717136 0.09943864
Passengers -0.008363972 3.55247973
Length:Passengers 0.003146143 0.01941267
答案 2 :(得分:0)
以下代码返回包含Estimate,空格和截距的(命名)字符串列表:
> apply(s[,c(1,2)],1,paste,collapse = " ")
(Intercept) Length
"-8.18006974657324 17.9310806930227" "0.119717136183204 0.0994386410426733"
Passengers Length:Passengers
"-0.00836397172098245 3.55247972849905" "0.00314614268107023 0.019412665227971"
这不是您要求的,因为它仍然是一个命名向量,但您可以根据需要使用另一个paste(collapse="\n")
将其余部分粘贴在一起。请注意,字符串中的\n
是回车符,但在解释器中显示时它只是打印为\ n。