在R中,如何向表对象添加其他列?

时间:2016-07-24 20:56:02

标签: r

我在data.frame上调用了table()函数。

这是输出。

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个元素。因此,当我在条形图上绘制此表时,该列没有显示任何内容。如何添加数字为0的特定列?

1 个答案:

答案 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