2016-11-14 69 views
-1

MyDataframe是一個數據框,它現在有7列,包括字符,數字和日期數據類型。數據幀有300,000行。將向量作爲新列添加到數據框中

我需要有一個向量作爲數據表的每一行的新字段。我需要的矢量最初有1440個零。我們稱之爲MyVector。

如果我試試這個:

MyDataframe $ MyVector =數字(1440)

我得到一個錯誤信息說,在數據幀的行數不匹配向量的長度。這告訴我R正在嘗試將整個向量作爲數據框中的列添加。

如何添加矢量,以便數據框的每一行都具有矢量作爲成員?

+1

成纔像'MyDataframe $ MyVector < - lapply(1:(暗(MyDataframe)[1]),函數(x)的矩陣(0,1440)) '應該這樣做,但需要大約3.5GB的RAM – HubertL

+1

您的文本沒有很好地描述您的問題。請用示例數據顯示期望的結果? – Parfait

+1

我在問一個數據幀是否可以有一列數據類型向量。換句話說,每行都可以有一個矢量成員嗎? –

回答

1

A data.frame是一種特殊類型的list。它可以包含任何類型的對象:其他列表(如模型),數據框架或矢量。在這些情況下,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 
相關問題