2016-01-24 5 views
6

csvファイルから読み込まれたデータフレームの全内容を複製します。私はcopyOfFirstFrameを行うと重複しているとは思わない。< - firstFrame。だから私は何をする必要がありますか?データフレームのコピーをRで作成するには

firstFrame <- read_csv("fileName.csv") 
copyOfFirstFrame <- ????? 

私は、次のメモリアドレスが同じ copyOfFirstFrameに残っているならば< - firstFrame

例えば

copyOfFirstFrame <- firstFrame 
tracemem(firstFrame) == tracemem(copyOfFirstFrame) 
[1] TRUE 

コピーには2つの一意のメモリアドレスが必要です。詳細はIn R, how can I check if two variable names reference the same underlying object?をご確認ください。

+1

もし私がそれを行い、メモリアドレスを比較すると、それらはメモリ内の同じオブジェクトです。質問の詳細を更新しました – user1605665

答えて

6

1つのdata.frameでCBINDを使用すると、コピーを持っていることを確認します。

> df <- cbind(NA, NA) 
> df2 <- cbind(df) 
> df2 
    [,1] [,2] 
[1,] NA NA 
> df2[,1] <- 1 
> df 
    [,1] [,2] 
[1,] NA NA 
> df2 
    [,1] [,2] 
[1,] 1 NA 
> 
2

レッツデータは、既存のデータフレームのオブジェクトです。 私は新しいオブジェクト、COPYを作成していますが、これはDATAの正確なコピーですが、別のメモリ位置を占有し、元のデータフレームを指していません。私はメモリアドレスが同じであるかどうかを確認したり、tracememを()を使用していない

> COPY<-data.frame(DATA) 

:十分

> tracemem(COPY)==tracemem(DATA) 
> [1] FALSE 

ラメ、私が思う

は、私はこのような関数data.frame()を使用します。

関連する問題