2011-07-05 47 views
8

Tôi có một khung dữ liệu trong R với ba biến được đặt tên ví dụ df$V1, df$V2, df$V3. df$V1df$V2 là cả hai yếu tố, trong khi df$V3 là số.R: chuyển đổi khung dữ liệu thành bảng

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

Tôi đang tìm kiếm một cách để tạo ra một bảng có chứa các giá trị trong df$V3, với df$V1 như các hàng, và df$V2 như các cột.

Tôi đã thử các biến thể trên bảng nhưng không nhận được bất kỳ đâu. Có lẽ ai đó có thể giúp đỡ, Xin cảm ơn trước, Davy.

+0

này [câu hỏi tương tự] (http://stackoverflow.com/a/9617424/210673) bây giờ có một danh sách các các cách khác nhau để làm điều này – Aaron

Trả lời

17

Đây là một thay thế cho table:

xtabs(V3 ~ V1 + V2, df) 
6

Như đã đề cập bởi ran2, bạn có thể sử dụng gói reshape. Dưới đây là một ví dụ:

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

Xem thêm 'reshape2' nhanh hơn nhiều – hadley

Các vấn đề liên quan