I am looking for just the value of the B1(newx)
linear model coefficient, not the name. I just want the 0.5 value. I do not want the name "newx".
newx <- c(0.5,1.5.2.5) newy <- c(2,3,4) out <- lm(newy ~ newx)
out
looks like:
Call: lm(formula = newy ~ newx) Coefficients: (Intercept) newx 1.5 1.0
I arrived here. But now I am stuck.
out$coefficients["newx"] newx 1.0
To assign names to the values of vector, we can use names function and the removal of names can be done by using unname function. For example, if we have a vector x that has elements with names and we want to remove the names of those elements then we can use the command unname(x).
The list can be created using list() function in R. Named list is also created with the same function by specifying the names of the elements to access them. Named list can also be created using names() function to specify the names of elements after defining the list.
For a single element like this, use [[
rather than [
. Compare:
coefficients(out)["newx"] # newx # 1 coefficients(out)[["newx"]] # [1] 1
More generally, use 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.
If the question is about removing names, another way is here
my_vec <- # some quantile function(returns named vector) names(my_vec) <- NULL my_vec ## [1] 1 2 3
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With