将向量作为新列添加到数据框

时间:2016-11-14 21:34:50

标签: r dataframe

MyDataframe是一个数据框,现在有7列字符,数字和日期数据类型。数据框有300,000行。

我需要将一个向量作为数据表每行的新字段。我需要矢量最初有1440个零。我们称之为MyVector。

如果我试试这个:

  

MyDataframe $ MyVector = numeric(1440)

我收到一条错误消息,指出数据框中的行数与向量的长度不匹配。这告诉我R正在尝试将整个向量作为数据帧中的列添加。

如何添加矢量,以便数据帧的每一行都有一个矢量作为成员?

1 个答案:

答案 0 :(得分:1)

data.framelist的特殊类型。它可以包含任何类型的对象:其他列表(例如模型),data.frames甚至向量。在这些情况下,data.frame称为嵌套data.frame ,这是您需要搜索的术语。

您可以像这样制作:

df <- data.frame(a = 1:3, b = letters[1:3])
df$vectors <- list(numeric(3), numeric(3), numeric(3))
str(df)
'data.frame':   3 obs. of  3 variables:
 $ a      : int  1 2 3
 $ b      : Factor w/ 3 levels "a","b","c": 1 2 3
 $ vectors:List of 3
  ..$ : num  0 0 0
  ..$ : num  0 0 0
  ..$ : num  0 0 0