2012-06-21 4 views
5

私はRには新しく、データフレームの各エントリがベクトルであるようにベクトルをデータフレームに格納する方法があるのだろうかと思っていました。ベクトルをデータフレームエントリとして保存しますか?

私はベクトルにエントリを割り当て、後でそれを変更できるようにしたい:

df[2,]$Value <- c(1,2,0) 
df[3,]$Value <- c(0,0,1) 
df[3,]$Value <- df[3,]$Value + c(2,4,4) 

をしかし、唯一のデータフレームに3つの異なるエントリを置き換えるように、この作業を行うことができます。これが可能なら誰でも知っていますか?

df: 
     V1 V2  V3 
1 c(1,2) c(2,3) c(0,0) 
2 c(1,1) c(0,0) c(2,2) 
+0

異なるサイズのベクターを使用したいと思っていますか? –

+2

これをデータフレームに入れようとするのをやめ、代わりにリストのリストを使用するだけで、混乱は少なくなります。 – joran

+0

が合意した。リストや配列のリストがおそらく良いでしょう。データフレームが2Dオブジェクトであるため、これは不可能です。 – LostLin

答えて

3

3Dデータフレームを使用することはできません。

> entries <- list(V1=list(c(1,2), c(1,1)), V2=list(c(2,3), c(0,0)), V3=list(c(0,0),c(2,2))) 
> entries 
$V1 
$V1[[1]] 
[1] 1 2 

$V1[[2]] 
[1] 1 1 


$V2 
$V2[[1]] 
[1] 2 3 

$V2[[2]] 
[1] 0 0 


$V3 
$V3[[1]] 
[1] 0 0 

$V3[[2]] 
[1] 2 2 

は今、あなたはあなたが単に

を行うだろうV1の2番目のエントリを変更したいと言うことができます:あなたはおそらく、リスト内のリストを持っているだろう概念的に説明するために、この多くの方法が、最も簡単なものを達成することができます

エントリ$ V1 [[2]] < - C(2,2)

又は

件[[1]] [[2]] < - c(2,2)

+0

行または列を置き換える方法を理解しています。私はベクトルを各エントリとして1つのベクトルとしてデータフレームに格納します: df: V1 V2 V3 1 c(1,2)c(2,3)c(0,0) 2 c(1) 、1)c(0,0)c(2,2) – user1428668

+0

あなたはエントリーをどういう意味ですか?行を意味しますか? – LostLin

+0

問題のデータフレームの例を参照してください...これはとても混乱しています! – user1428668

関連する問題