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