Tôi muốn biết nếu có một số giải pháp thanh lịch cho vấn đề này:Áp dụng chức năng trên giá trị nhất định trong vector (R)
Hãy nói rằng tôi có một vector của các giá trị
a <- c(1,2,3,3.1,3.2,5,6,7,7.1,7.2,9)
và Tôi muốn áp dụng một số hàm (ví dụ: trung bình) chỉ cho các giá trị thỏa mãn điều kiện nhất định, trong trường hợp này là có sự khác biệt giữa các giá trị nhỏ hơn 0,5.
Vì vậy, các giá trị cần được trung bình là (3,3.1,3.2)
và (7,7.1,7.2)
và chức năng nên trở vector
b <- c(1,2,3.1,5,6,7.1,9)
Edit: Một cách tiếp cận tôi đã cố gắng (không chắc chắn nếu phải) là binarize vector a
(1 ý nghĩa sự khác biệt giữa các giá trị là < 0,5; 0 có nghĩa là diff là> 0,5), vì vậy tôi có vector
bin <– c(0,0,1,1,0,0,0,1,1,0)
nhưng tôi không biết cách áp dụng trung bình cho các nhóm riêng biệt. Vì vậy, vấn đề chính đối với tôi là phân biệt các nhóm giá trị cần thiết và áp dụng giá trị trung bình cho riêng chúng. Bất kỳ ý tưởng?
Tôi mới ở đây nên nếu có gì không rõ ràng, vui lòng cho tôi biết. Cảm ơn bạn trước.
bạn nên cung cấp một số nỗ lực mà bạn đã cố gắng cho đến nay – xlembouras