আমি কীভাবে একটি নাম্বার থেকে নামটি বের করতে পারি (নাম ছাড়াই)?


92

আমি নামটি নয়, কেবল বি 1 (নিউএক্স) লিনিয়ার মডেল সহগের মান খুঁজছি। আমি শুধু 0.5 মান চাই। আমি "নিউেক্স" নামটি চাই না।

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 

8
as.numeric(out$coefficients["newx"])
বেন

as.numeric কাজ করে। কোনও সংখ্যা জোর করে দেওয়ার জন্য এটি কি কম খরচের উপায়?
আন্দ্রে মিকুলেক

4
newxনামের পরিবর্তে আপনি (2) এর সূচক নম্বরটি ব্যবহার করতে পারেন out[[1]][[2]]
গুরোল ক্যানব্যাক

উত্তর:


117

এর মতো একক উপাদানের জন্য ব্যবহার [[না করে ব্যবহার করুন [। তুলনা করা:

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.

5

যদি প্রশ্নটি নামগুলি সরানোর বিষয়ে হয় তবে অন্য একটি উপায় এখানে

my_vec <- # some quantile function(returns named vector)
names(my_vec) <- NULL
my_vec
## [1] 1 2 3

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.