2012-02-22 60 views

Trả lời

69

Bạn đang tìm kiếm which.min():

a <- c(1,2,0,3,7,0,0,0) 
which.min(a) 
# [1] 3 

which(a == min(a)) 
# [1] 3 6 7 8 

(Như bạn có thể nhìn thấy từ trên, khi một số yếu tố được gắn cho tối thiểu, which.min() chỉ trả về chỉ số của một Trước tiên, bạn có thể sử dụng. thứ hai xây dựng nếu bạn thay vì muốn các chỉ số của tất cả các yếu tố phù hợp với giá trị tối thiểu.)

+0

... vâng tôi đã tự hỏi làm thế nào tôi có thể nhận được các chỉ số của tất cả các yếu tố tối thiểu? Tôi cần phải tìm ra bao nhiêu là tối thiểu, hoàn hảo! Đã cho tôi một thời gian để hiểu điều này, cảm ơn. – hhh

+1

@hhh - Để tìm hiểu xem có bao nhiêu phần tử là tối thiểu, bạn chỉ có thể sử dụng: 'sum (a == min (a))'. –

11

để thay thế cho câu trả lời của Josh

a <- c(1, 2, 0, 3, 7) 
which(a == min(a)) 

này cho mọi chỉ số bằng với giá trị tối thiểu. Vì vậy, nếu chúng ta có nhiều hơn một giá trị phù hợp với giá trị thấp nhất

a <- c(1, 2, 0, 3, 7, 0) 
which(a == min(a)) # returns both 3 and 6 
which.min(a)  # returns just 3 

Edit: Nếu bạn đang tìm kiếm chỉ là có bao nhiêu yếu tố này là tương đương với tối thiểu (như bạn bao hàm trong một trong những ý kiến), bạn có thể thay vào đó hãy thực hiện việc này:

a <- c(1, 2, 0, 3, 7, 0) 
sum(a == min(a)) 
Các vấn đề liên quan