MyDataframe是一个数据框,现在有7列字符,数字和日期数据类型。数据框有300,000行。
我需要将一个向量作为数据表每行的新字段。我需要矢量最初有1440个零。我们称之为MyVector。
如果我试试这个:
MyDataframe $ MyVector = numeric(1440)
我收到一条错误消息,指出数据框中的行数与向量的长度不匹配。这告诉我R正在尝试将整个向量作为数据帧中的列添加。
如何添加矢量,以便数据帧的每一行都有一个矢量作为成员?
答案 0 :(得分:1)
data.frame
是list
的特殊类型。它可以包含任何类型的对象:其他列表(例如模型),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