2012-12-30 74 views
0

我想知道如何在數據集中標記數字。爲了說明這一點,這裏是我得到:如何將數字標籤添加到矢量中

> U 
    [,1] 
[1,] 5.019720 
[2,] 3.849288 
[3,] 3.434410 
[4,] 3.418294 
[5,] 3.723506 
[6,] 3.108474 
[7,] 2.534136 

,但我要的是,

 1  2  3  4  5 
5.019765 3.849315 3.434434 3.418317 3.723531 
    6  7 
3.108500 2.534188 
+0

是'U [,1]'你需要什麼? – zch

+0

輸出必須與上面的輸出相同。這兩個都沒有提供所需的輸出。還有別的嗎? – Kazo

回答

9

看來要構建一個名爲向量。這樣做的一個簡單的方法是使用setNames()

x <- runif(5) 
x 
[1] 0.1350252 0.6986387 0.9814024 0.1204727 0.2901325 

的名字現在添加:

setNames(x, 1:5) 
     1   2   3   4   5 
0.1350252 0.6986387 0.9814024 0.1204727 0.2901325 

這是當然的,等效於:

names(x) <- 1:5 
x 
     1   2   3   4   5 
0.1350252 0.6986387 0.9814024 0.1204727 0.2901325 
+0

謝謝Andrie。這正是我在 – Kazo

+0

@Andrie之後的原因,爲什麼'setNames()'而不僅僅是'names()'? ('名稱(x)< - 1:5')。我一直認爲'setNames()'的設計方式更多地以'y < - setNames(runif(5),1:5)'爲例,其中名稱分配在同一行中數據生成。 – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto你是非常正確的 - 這些都是相同的。我想這只是習慣。一旦我發現'setNames()',我發現我幾乎總是使用它,因爲它可以節省打字量。 – Andrie

3

Andrie打敗我,他的方式是優越的,但這是另一種方法(這顯示瞭如何將矩陣對象(包含維度)變成一個矢量):

U <- matrix(rnorm(6), ncol=1) 
U2 <- c(U) 
names(U2) <- 1:length(U2) 
U2 

,並提供:

 1   2   3   4   5   6 
-1.081053 -0.122568 1.650224 -2.217643 2.018205 1.451843