r - قم بتحويل صف من إطار البيانات إلى المتجه




vector dataframe (3)

أعمدة إطارات البيانات متجهة بالفعل ، عليك فقط سحبها. لاحظ أنك تضع العمود الذي تريده بعد الفاصلة ، وليس قبله:

> newV <- df[,1]
> newV
[1] 1 2 4 2

إذا كنت تريد بالفعل صفًا ، فافعل ما قاله بن ، واستخدم الكلمات بشكل صحيح في المستقبل.

أريد إنشاء متجه من صف من إطار البيانات. ولكن لا أريد أن أضطر إلى صف وأسماء الأعمدة. حاولت عدة أشياء ... لكن لم يحالفني الحظ.

هذا هو إطار البيانات الخاص بي:

> df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3))
> df
  a b   c
1 1 2 2.6
2 2 6 8.2
3 4 2 7.5
4 2 1 3.0

حاولت:

> newV <- as.vector(df[1,])
> newV
  a b   c
1 1 2 2.6

لكني حقا أريد شيئا يبدو كالتالي:

> newV <- c( 1,2,2.6)
> newV
[1] 1.0 2.0 2.6

أي مساعدة ، عن تقديره للغاية.


أوصي unlist ، والتي تحافظ على الأسماء.

unlist(df[1,])
  a   b   c 
1.0 2.0 2.6 

is.vector(unlist(df[1,]))
[1] TRUE

إذا كنت لا تريد متجه مسمى:

unname(unlist(df[1,]))
[1] 1.0 2.0 2.6

عند استخراج صف واحد من إطار بيانات تحصل على إطار بيانات صف واحد. تحويله إلى ناقل رقمي:

as.numeric(df[1,])

كما يقترح @ رولاند ، سوف unlist (DF unlist(df[1,]) تحويل إطار بيانات الصف واحد إلى ناقل رقمي دون إسقاط الأسماء. ولذلك ، فإن unname(unlist(df[1,])) هو طريقة أخرى أكثر وضوحًا للوصول إلى نفس النتيجة.





dataframe