2017-11-13 11 views
-1

データセットが非常に大きく(5,200万行×6列)、2つの列には繰り返し値があり、1列は別の列のサブセットです。例えばデータフレームの繰り返しサブセットの一意の値を抽出する

次のように、データフレームを取る: enter image description here

を私は次のようにデータフレームを取得したいのですが:

enter image description here

私は上記の例のために、次のコードを使用しました:

DISP < - ユニーク(mtcars $ DISP) CYL < - ユニーク(mtcars $ CYL)

NEW_DATA < - data.frame(1:長さ(DISP)、1:長さ(DISP)) NEW_DATA $ DISP < - (iは1:長さ(DISP))のため

をDISP {

NEW_DATA $ CYL [i]は< - mtcars $ CYL [グレップ(DISP [i]は、mtcars $ DISP)] }

が、私は大規模なデータセットを渡ってそれを複製しようとしているとき、これは動作しません( RAMは私のマシンが最も強力ではないので、考えられる問題です)。

私の質問は、大規模なデータセットに対してこの同じ練習をするより良い方法はありますか?

+3

[MCVE] –

+0

あなたが必要としてくださいあなたがdf1からdf2へ行く方法を明確にする。あなたは、すべてのユニークなdispとcylコンボを望んでいますか?ユニークな車情報を1つの行に入れるだけですか?あなたの質問は非常に不明です。 – leeum

+0

私はすべてのユニークなdisp&cylコンボが必要です – sacpop

答えて

0

私にとって、あなたはすべてのユニークなdispとcylコンボを望むようです。そのために、ここで私はお勧めです:

DF:

car  cyl  disp 
Ford  32   322 
Ford  32   322 
Mazda  12   212 

- コード:

library(dplyr) 
output <- df %>% group_by(cyl,disp) %>% 
summarise(car_name = paste(car, collapse = ",")) 

出力:

cyl  disp  car 
32  322  Ford,Ford 
12  212  Mazda 
+0

ありがとう!必要に応じて正確に解決しました – sacpop

関連する問題