[英]Retain rownames as names of vector in R
我有一個數據幀如下:
> df <- data.frame("A"=rnorm(26), "B"=rnorm(26),row.names=sample(letters,26))
然后,我想使用不同的行順序將列B
作為向量
> newOrder <- sample(letters,26)
> vec <- df[newOrder,"B"] #1
如何在#1的單個語句中保留df
的正確rownames作為vec
的向量名? 也就是說,無需這樣做:
> names(vec) <- newOrder
您可以使用setNames
同時設置名稱
> vec <- setNames(df[newOrder, "B"], newOrder)
> vec
q c a l g v
-0.44632045 0.80264068 -0.51574653 -1.57176346 0.16977483 -0.04916571
j z u b w p
0.95736262 -0.35259227 0.20451454 -0.03873499 0.62497872 1.26984233
f t o y n k
0.52851609 -0.37680593 -2.01770314 -0.94752793 0.64001006 1.72032405
d e m r s i
0.30731069 0.54537837 2.32968848 -0.43577586 -0.16144602 -0.12817791
x h
0.52822103 1.68236876
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.