2009-10-24 28 views
24

Tôi có một vectơ các số nguyên nằm trong khoảng từ 0 đến 5. Tôi muốn tính toán một biểu đồ đếm. Ví dụ:Bao gồm các giá trị bị thiếu trong bảng() dẫn đến R

y <- c(0, 0, 1, 3, 4, 4) 
table(y) 
# y 
# 0 1 3 4 
# 2 1 1 2 

Tuy nhiên, tôi cũng muốn kết quả bao gồm thực tế là có số không 2 và số không 5, nghĩa là. Tôi muốn vector trả về có chiều dài 6. Tôi có thể sử dụng table() cho điều này không?

kết quả mong muốn:

# y 
# 0 1 2 3 4 5 
# 2 1 0 1 2 0 

Trả lời

35

Chuyển đổi biến của bạn đến một factor, và thiết lập các mục mà bạn muốn bao gồm trong các kết quả sử dụng levels. Các giá trị có số không bằng 0 sẽ xuất hiện trong kết quả:

y <- c(0, 0, 1, 3, 4, 4) 
table(factor(y, levels = 0:5)) 
# 0 1 2 3 4 5 
# 2 1 0 1 2 0 
Các vấn đề liên quan