r - 如何从指定号码(不带名称)中仅提取号码?

标签 r vector named lm

我只查找 B1(newx) 线性模型系数的值,而不是名称。我只想要 0.5 的值。我不想要“newx”这个名字。

newx <- c(0.5,1.5,2.5)

newy <- c(2,3,4)

out <- lm(newy ~ newx)

out 看起来像:

Call:
lm(formula = newy ~ newx)

Coefficients:
(Intercept)         newx  
       1.5         1.0  

我到了这里。但现在我陷入困境了。

out$coefficients["newx"]

newx 
 
1.0 

最佳答案

对于像这样的单个元素,请使用 [[ 而不是 [。比较:

coefficients(out)["newx"]
# newx 
#    1 

coefficients(out)[["newx"]]
# [1] 1

更一般地,使用unname():

unname(coefficients(out)[c("newx", "(Intercept)")])
# [1] 1.0 1.5

head(unname(mtcars))
#                     NA NA  NA  NA   NA    NA    NA NA NA NA NA
# Mazda RX4         21.0  6 160 110 3.90 2.620 16.46  0  1  4  4
# Mazda RX4 Wag     21.0  6 160 110 3.90 2.875 17.02  0  1  4  4
# Datsun 710        22.8  4 108  93 3.85 2.320 18.61  1  1  4  1
# Hornet 4 Drive    21.4  6 258 110 3.08 3.215 19.44  1  0  3  1
# Hornet Sportabout 18.7  8 360 175 3.15 3.440 17.02  0  0  3  2
# Valiant           18.1  6 225 105 2.76 3.460 20.22  1  0  3  1

## etc.

关于r - 如何从指定号码(不带名称)中仅提取号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736719/

相关文章:

python - 正则表达式命名组(如果存在)

r - 模糊数据的一致性系数

c++ move 后重新分配

linux - 将域名链接到服务器

postgresql - Postgres 中的动态计算公式

r - 在两个向量的某些值之间创建序列

r - 如何在 R 中使用 `repeat` 循环

r - 高效创建三对角矩阵

r - gganimate 情节没有显示和保存一堆 .png 的

c++ - 为什么我的 vector 大小一直重置为 0? (目前正在使用类(class))