2012-06-21 22 views
5

R için oldukça yeni ve veri çerçevesindeki her bir veriyi bir vektör olarak saklamak için bir veri çerçevesinde vektörleri saklamanın bir yolu olup olmadığını merak ediyordum.Vektörleri veri çerçeve girişleri olarak depolar mısınız?

Ben bir vektör giriş atayabilir ve daha sonra bunu değiştirmek mümkün istiyorum:

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

Ama sadece veri çerçevesi 3 farklı girdileri değiştirmek gibi bu işi yapabilir. Bunun mümkün olup olmadığını bilen var mı?

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

Farklı büyüklükteki vektörleri kullanabilmek istediğiniz anlamına mı geliyorsunuz? –

+2

Bunu bir veri çerçevesine ayakkabılı bir şekilde çalmayı denemekten vazgeçerseniz ve sadece bir liste listesi kullanmanız daha az kafa karıştırıcı olacaktır. – joran

+0

kabul etti. liste veya dizi listesi muhtemelen daha iyi olacaktır. Bir dataframe bir 2D nesne – LostLin

cevap

3

3D veri çerçeveniz olamaz.

> 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 

Artık sadece

yapacağını V1 ikinci girişini değiştirmek istiyorum Diyelim: Muhtemelen bir liste içinde bir liste var olacaktır kavramsal açıklamak için bu birçok yol ama kolay bir elde edebilirsiniz

girişleri $ V1 [[2]] < - c (2,2)

veya

girişler [[1]] [[2]] < - c (2,2)

+0

bir satır veya sütun nasıl değiştirileceğini anladığımdan bu mümkün değildir; Vektörler veri çerçevesine, her bir giriş olarak bir vektör saklamak istiyorum: 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

Giriş ile ne demek istiyorsun? sıra demek istiyorsun – LostLin

+0

veri çerçeve örneğini görmek için ... Üzgünüm, bu çok kafa karıştırıcı! – user1428668

İlgili konular