2016-11-14 20 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

data.frameは、特殊タイプのlistです。それは、他のリスト(モデルのようなもの)、データフレーム、またはベクトルでさえ、あらゆる種類のオブジェクトを持つことができます。そのような場合、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 
関連する問題