Nói rằng tôi có một khung dữ liệu như thế này:Điền vào khung dữ liệu với giá trị từ hàng trên
ID, ID_2, FIRST, VALUE
-----------------------
'a', 'aa', TRUE, 2
'a', 'ab', FALSE, NA
'a', 'ac', FALSE, NA
'b', 'aa', TRUE, 5
'b', 'ab', FALSE, NA
Vì vậy GIÁ TRỊ chỉ đặt ra cho FIRST = TRUE một lần mỗi ID. ID_2 có thể trùng lặp giữa các ID nhưng không phải.
Làm cách nào để đặt các số từ hàng đầu tiên của từng ID vào tất cả các hàng của ID đó, sao cho cột VALUE trở thành 2, 2, 2, 5, 5?
Tôi biết tôi chỉ có thể lặp qua tất cả các ID bằng vòng lặp for, nhưng tôi đang tìm kiếm một cách hiệu quả hơn.
tôi thích nó. Bổ sung nhỏ vào f4 để xử lý các NA trước. dòng cuối cùng nên đọc: c (NA, x [trong đó (notnotblank)]) [cumsum (isnotblank) +1] – DangerMouse
Câu trả lời hay. f4 cũng hoạt động với các ký tự. – BCC
Điều này là rực rỡ nhưng sẽ được hưởng lợi từ một số lời giải thích. – C8H10N4O2