簡體   English   中英

將rownames保留為R中向量的名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM