window transform: difference, ratio, first and last drop the trailing outputs of each series
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 88/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, node.js
- Lĩnh vực
- data-visualization, frontend
Hướng nghiên cứu
Đọc src/transforms/window.js và kiểm tra reduceDifference, reduceRatio, reduceFirst và reduceLast, so sánh giới hạn vòng lặp ở chế độ strict và non-strict với hành vi được mô tả trong các ví dụ. Thêm hoặc cập nhật kiểm thử cho các đầu ra cuối ở cả hai chế độ, sau đó chạy các kiểm thử window transform liên quan. Hoàn thành khi các reducer này tạo ra đầu ra có độ dài đầy đủ như mong đợi, bao gồm cả các cửa sổ cuối bị cắt cụt khi strict là false.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The difference, ratio, first and last window reducers stop their loops early: with strict: true the last full window is missing, and with strict: false the last k - 1 - s truncated windows are missing. Other reducers such as mean fill these positions.
import * as Plot from "@observablehq/plot";
const run = (w, data) => {
const o = Plot.windowY(w, {x: "i", y: "v"});
o.transform(data, [Uint32Array.from(data, (_, i) => i)]);
return Array.from(o.y.transform());
};
const d = [2, 4, 8, 16].map((v, i) => ({i, v}));
console.log(run({k: 2, reduce: "difference", strict: true, anchor: "end"}, d));
console.log(run({k: 2, reduce: "ratio", strict: true, anchor: "end"}, d));
console.log(run({k: 1, reduce: "last", strict: true}, d));
console.log(run({k: 3, reduce: "first", anchor: "start"}, d));
console.log(run({k: 3, reduce: "difference", anchor: "start"}, d));
console.log(run({k: 3, reduce: "mean", anchor: "start"}, d));
node t.mjs
Actual:
[ undefined, 2, 4, undefined ]
[ undefined, 2, 2, undefined ]
[ 2, 4, 8, undefined ]
[ 2, 4, undefined, undefined ]
[ 6, 12, undefined, undefined ]
[ 4.666666666666667, 9.333333333333334, 12, 16 ]
Expected:
[ undefined, 2, 4, 8 ]
[ undefined, 2, 2, 2 ]
[ 2, 4, 8, 16 ]
[ 2, 4, 8, 16 ]
[ 6, 12, 8, 0 ]
[ 4.666666666666667, 9.333333333333334, 12, 16 ]
In a chart, Plot.lineY(data, Plot.windowY({k: 7, reduce: "difference"}, ...)) stops short of the right edge.
Tested with @observablehq/plot 0.6.19 and main 2245188, Node.js v26.13.0.
In src/transforms/window.js, reduceDifference, reduceRatio, reduceFirst and reduceLast use n = I.length - k in the strict branch (should be I.length - k + 1) and n = I.length - k + s + 1 in the non-strict branch (should be I.length - s, with the window clipped to I.length).
Credit: https://ucsbplse.github.io/
- Ngôn ngữ chính
- HTML
- Star
- 5.4k
- Fork
- 251
- Merge trung bình
- 2 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của observablehq/plot
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
observablehq/plot#2471 ·
-
[Types] Wrong recursion in Mark’s _tip_ optionCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
observablehq/plot#2459 · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
observablehq/plot#2453 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
observablehq/plot#2447 · 2 bình luận ·
-
Channel documentation with a section describing zCó thể làm lại được @LeonxLJX đã nhận 67 ngày trước và không có pull request nào đang mở. Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
observablehq/plot#1533 · 3 bình luận · 1 reaction ·
Tất cả issue của observablehq/plot
Issue tương tự
-
partial() returns wrong values (silently) when train is a matrix and pred.var has two variablesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
bgreenwell/pdp#140 · 1 bình luận · 1 reaction ·
-
bin: stop can round 1 ulp below extent[1], so the maximum value is binned as +Infinity and droppedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Numeric tick formatter gives repeated labels in scientific notation and with bounds: 'data'Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug data order-flow studies
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
userFRM/egui-charts#2530 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Analysis Functions bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
AllenInstitute/MIES#2856 ·
Maintainer thường phản hồi trong vòng 1 ngày