2016-07-24 52 views
1

我在data.frame上調用了table()函數。在R中,如何添加一個額外的列到表對象?

這是輸出。

Browse[1]> x 

    II  III  IV [Unknown]   V 
    1   9  10   3   1 

Browse[1]> y 

    I  III  IV [Unknown]   V 
    3   12  15   10  2 

問題是,其中一列未顯示,因爲那裏有0個元素。因此,當我在barplot上繪製此表時,該列中沒有顯示任何內容。我如何添加一個數字爲0的特定列?

回答

2

在你的情況下,table()返回一個命名向量。我可以構造它:

x <- c(II = 1, III = 9, IV = 10, "[Unknown]" = 9, V = 1) 
# II  III  IV [Unknown]  V 
# 1  9  10   9  1 

命名向量仍然是一個向量,其中只有元素不是列。我們可以用c()來連接:

x <- c(I = 0, x) 
# I  II  III  IV [Unknown]  V 
# 0  1  9  10   9  1 

一般情況下,我們可以使用append()。例如,您y

y <- c(I = 3, III = 12, IV = 15, "[Unknown]" = 10, V = 2) 
# I  III  IV [Unknown]   V 
# 3  12  15  10   2 

我們可以這樣做:

y <- append(y, 0, 1) ## insert value 0 after y[1] 
# I     III  IV [Unknown]   V 
# 3   0  12  15  10   2 

但我們必須通過一個單獨的步驟來設置名稱:

names(y)[2] <- "II" 
# I  II  III  IV [Unknown]   V 
# 3   0  12  15  10   2 

編輯

感謝@thelatemail,爲您y我們可以簡單的做:

append(y, c(II = 0), 1) 
# I  II  III  IV [Unknown]   V 
# 3   0  12  15  10   2 
+0

我的另一對象的具有II = 0,所以我需要補充一點,有兩列之間插入的方式? – Goldname

+0

我有另一張桌子。在這種情況下,我稱它爲y。 y,而不是列「I」,缺少列「II」 – Goldname

+0

如何插入兩列之間? – Goldname

相關問題