Tôi có một vectơ các giá trị vô hướng mà tôi đang cố gắng lấy: "Có bao nhiêu giá trị khác nhau".Đếm số giá trị khác nhau trong một vector
Ví dụ: group <- c(1,2,3,1,2,3,4,6)
giá trị duy nhất là 1,2,3,4,6
vì vậy tôi muốn nhận được 5
.
tôi đến với:
length(unique(group))
Nhưng tôi không chắc chắn đó là cách hiệu quả nhất để làm điều đó. Không có cách nào tốt hơn để làm điều này?
Lưu ý: Trường hợp của tôi phức tạp hơn ví dụ, bao gồm khoảng 1000 số có tối đa 25 giá trị khác nhau.
Tôi sẽ thêm chiều dài (tabulate (x)) vào các hàm được kiểm tra. –
@WojciechSobala: Không, thấy rằng 'chiều dài (tabulate (x))' không cho kết quả chính xác với ví dụ 'x <- mẫu (c (-3, 2, 5), 1000, TRUE)'. – flodel
Không bao giờ tin tưởng (hoàn toàn) cảm giác ruột. ^^ Cảm ơn @flodel vì đã giúp tôi khám phá chức năng 'mẫu' và lib của microbenchmark! :) – AdrieanKhisbe