R:将summary()$coef转换为数值向量

R:将summary()$coef转换为数值向量,r,lm,coefficients,R,Lm,Coefficients,我试图用标准曲线(回归线)来分析我的数据。标准曲线与此类似: myData <- data.frame(x=rep(c(10,1,0.1,0.01),each=3), y=(c(26, 25, 24.5,2.65,2.4,2.5, 0.25,0.245,0.265, 0.025,0.027,0.024))) ppl$Estimate最初是一个因素。如果将其直接转换为数字,则

我试图用标准曲线(回归线)来分析我的数据。标准曲线与此类似:

 myData <- data.frame(x=rep(c(10,1,0.1,0.01),each=3),
                          y=(c(26, 25, 24.5,2.65,2.4,2.5,
                               0.25,0.245,0.265, 0.025,0.027,0.024)))

ppl$Estimate
最初是一个因素。如果将其直接转换为数字,则将提供因子的级别(因此为1,2…)。您必须首先将其转换为字符:

ppl$Estimate<-as.numeric(as.character(ppl$Estimate))

ppl$Estimate永远不要使用
cbind
后跟
as.data.frame
cbind
更改数据类型,因为它创建了一个矩阵,而一个矩阵只能包含一种数据类型。只需使用
data.frame
,之后就不需要“修复”数据类型:

set.seed(42)
xy <- lm(y~x, data=data.frame(x = rnorm(10), y = rnorm(10))) 
datOut <- summary(xy)$coef

ppl <- data.frame(VariableName=rownames(datOut), datOut)
str(ppl)
#'data.frame':  2 obs. of  5 variables:
#$ VariableName: chr  "(Intercept)" "x"
#$ Estimate    : num  0.237 -0.732
#$ Std..Error  : num  0.616 0.64
#$ t.value     : num  0.385 -1.144
#$ Pr...t..    : num  0.71 0.286
set.seed(42)

xy感谢您的回答和cbind提示。当我试图找到解决办法时,我在某处找到了它。。下次,我会知道:)
set.seed(42)
xy <- lm(y~x, data=data.frame(x = rnorm(10), y = rnorm(10))) 
datOut <- summary(xy)$coef

ppl <- data.frame(VariableName=rownames(datOut), datOut)
str(ppl)
#'data.frame':  2 obs. of  5 variables:
#$ VariableName: chr  "(Intercept)" "x"
#$ Estimate    : num  0.237 -0.732
#$ Std..Error  : num  0.616 0.64
#$ t.value     : num  0.385 -1.144
#$ Pr...t..    : num  0.71 0.286