2011-07-05 22 views
8

Örnek olarak R içinde bir veri çerçevem ​​var, örneğin df$V1, df$V2, df$V3. df$V1 ve df$V2 öğelerinin ikisi de df$V3 sayısaldur.R: veri çerçevesini tabloya dönüştürme

df <- data.frame(
    V1 = letters[1:4], 
    V2 = rep(LETTERS[1:3], each = 4), 
    V3 = 1:12 
) 

Ben sütunlar olarak satırlar olarak df$V1 ve df$V2 ile df$V3 değerleri içeren bir tablo oluşturmak için bir yol arıyorum.

Tablodaki varyasyonları denedim, ancak hiçbir yere ulaşmadım. Belki birisi yardımcı olabilir, Şimdiden teşekkürler, Davy.

+0

Bu [benzer bir soru] (http://stackoverflow.com/a/9617424/210673) artık bir listesini Bunu yapmanın çeşitli yolları – Aaron

cevap

17

olup: Burada bir örnek

xtabs(V3 ~ V1 + V2, df) 
6

ran2 tarafından belirtildiği gibi, reshape paketini kullanabilirsiniz. Bu table alternatif

df <- data.frame(V1 = factor(sample(letters[1:5],100,replace=TRUE)), 
       V2 = factor(toupper(sample(letters[1:5],100,replace=TRUE))), 
       V3 = runif(100)) 
library(reshape) 
cast(df, V1 ~ V2, mean) 
+3

Ayrıca bkz. daha hızlı olan reshape2' – hadley

İlgili konular