---
generated_at: 2026-02-19 00:20:00
metrics:
  claims_total: 138
  claims_with_evidence: 138
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: join.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim: 主張）を検証しています：

1. **根拠の有無確認**: 各テストケースに対して、ソースコード内の関数定義・ドキュメント・パラメータ仕様などの根拠（Evidence）が存在するか
2. **根拠との整合性**: テストケースの内容が根拠と矛盾していないか
3. **網羅性**: 参照すべき関数・メソッドを適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」: 根拠あり、「△」: 根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **1.00**
  - 根拠あり: 138 / 138、根拠なし: 0
- 優先レビュー（高）
  1. **なし**: 全テストケースに根拠あり
  2. **推奨**: 実際のテスト実行での動作確認
  3. **推奨**: エッジケースの追加検討

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `R/join.R` - inner_join, left_join, right_join, full_join, semi_join, anti_join, nest_join関数定義（行249-683）
- E-02: `R/join.R` - join_mutate, join_filter ヘルパー関数（行687-889）
- E-03: `R/join.R` - check_na_matches, check_keep, is_cross_by関数（行891-940）
- E-04: `R/join.R` - roxygen2ドキュメント - 結合タイプ説明（行1-247）
- E-05: `R/join-by.R` - join_by関数定義（行224-269）
- E-06: `R/join-by.R` - new_join_by, as_join_by関数（行282-372）
- E-07: `R/join-by.R` - join_by_common関数（行376-394）
- E-08: `R/join-by.R` - parse_join_by_* パース関数群（行404-1099）
- E-09: `R/join-by.R` - binding_join_by_* バインディング関数群（行579-1038）
- E-10: `R/join-by.R` - roxygen2ドキュメント - join_by説明（行1-223）
- E-11: `R/join-cols.R` - join_cols関数定義（行1-80）
- E-12: `R/join-cols.R` - check_join_vars, check_duplicate_vars関数（行82-147）
- E-13: `R/join-cols.R` - standardise_join_suffix, add_suffixes関数（行149-188）
- E-14: `R/join-cols.R` - join_cast_common, join_ptype_common関数（行190-235）
- E-15: `R/join-common-by.R` - common_by S3メソッド群（行1-82）
- E-16: `R/join-cross.R` - cross_join関数定義（行43-91）
- E-17: `R/join-cross.R` - roxygen2ドキュメント - cross_join説明（行1-42）
- E-18: `R/join-rows.R` - join_rows関数定義（行1-75）
- E-19: `R/join-rows.R` - dplyr_locate_matches関数（行77-143）
- E-20: `R/join-rows.R` - rethrow_error_join_* エラーハンドラ群（行145-308）
- E-21: `R/join-rows.R` - check_unmatched, check_join_relationship関数（行317-454）
- E-22: `R/join-rows.R` - standardise_join_* 標準化関数群（行351-400）
- E-23: `R/join-rows.R` - compute_join_relationship関数（行402-446）

## 3) Claims と根拠の対応（レビューの主戦場）

### Mutating Joins (inner_join, left_join, right_join, full_join)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | inner_joinの基本動作テスト | E-01, E-04 | ○ |
| C-02 | join_by()による結合テスト | E-01, E-05, E-10 | ○ |
| C-03 | suffixパラメータテスト | E-01, E-04, E-13 | ○ |
| C-04 | keepパラメータテスト | E-01, E-04, E-11 | ○ |
| C-05 | na_matchesパラメータテスト | E-01, E-03, E-04 | ○ |
| C-06 | multipleパラメータテスト | E-01, E-04 | ○ |
| C-07 | relationshipパラメータテスト | E-01, E-21, E-23 | ○ |
| C-08 | unmatchedパラメータテスト | E-01, E-21 | ○ |
| C-09 | left_joinの基本動作テスト | E-01, E-04 | ○ |
| C-10 | right_joinの基本動作テスト | E-01, E-04 | ○ |
| C-11 | full_joinの基本動作テスト | E-01, E-04 | ○ |
| C-12 | グループ化保持テスト | E-01, E-02 | ○ |

### Filtering Joins (semi_join, anti_join)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | semi_joinの基本動作テスト | E-01, E-04 | ○ |
| C-14 | anti_joinの基本動作テスト | E-01, E-04 | ○ |
| C-15 | フィルタリング結合でy列が含まれないこと | E-02 | ○ |
| C-16 | 重複マッチ処理テスト | E-02, E-18 | ○ |

### Nest Join
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-17 | nest_joinの基本動作テスト | E-01, E-04 | ○ |
| C-18 | nameパラメータテスト | E-01 | ○ |
| C-19 | リスト列の構造テスト | E-01 | ○ |

### join_by() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 | 等価結合式パーステスト | E-05, E-08 | ○ |
| C-21 | 単一列名パーステスト | E-05, E-08 | ○ |
| C-22 | 不等号結合式パーステスト | E-05, E-08, E-10 | ○ |
| C-23 | closest()ヘルパーテスト | E-05, E-08, E-10 | ○ |
| C-24 | between()ヘルパーテスト | E-05, E-08, E-09, E-10 | ○ |
| C-25 | within()ヘルパーテスト | E-05, E-08, E-09, E-10 | ○ |
| C-26 | overlaps()ヘルパーテスト | E-05, E-08, E-09, E-10 | ○ |
| C-27 | x$/y$プレフィックステスト | E-05, E-08, E-10 | ○ |
| C-28 | 複数条件連結テスト | E-05 | ○ |
| C-29 | bounds引数テスト | E-09 | ○ |
| C-30 | エラーケーステスト | E-05, E-08 | ○ |

### as_join_by() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-31 | 文字ベクトル変換テスト | E-06 | ○ |
| C-32 | リスト変換テスト | E-06 | ○ |
| C-33 | dplyr_join_byパススルーテスト | E-06 | ○ |
| C-34 | 不正型エラーテスト | E-06 | ○ |

### join_cols() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | 列計算テスト | E-11 | ○ |
| C-36 | keep=NULLテスト | E-11 | ○ |
| C-37 | keep=TRUEテスト | E-11 | ○ |
| C-38 | keep=FALSEテスト | E-11 | ○ |
| C-39 | keep=FALSE不等号エラーテスト | E-11 | ○ |

### バリデーション関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-40 | check_join_varsテスト | E-12 | ○ |
| C-41 | check_duplicate_varsテスト | E-12 | ○ |
| C-42 | standardise_join_suffixテスト | E-13 | ○ |
| C-43 | check_na_matchesテスト | E-03 | ○ |
| C-44 | check_keepテスト | E-03 | ○ |

### common_by() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | common_by.NULLテスト | E-15 | ○ |
| C-46 | common_by.characterテスト | E-15 | ○ |
| C-47 | common_by.listテスト | E-15 | ○ |
| C-48 | common_by.defaultエラーテスト | E-15 | ○ |

### cross_join() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | cross_joinの基本動作テスト | E-16, E-17 | ○ |
| C-50 | 列名衝突処理テスト | E-16 | ○ |
| C-51 | 境界値テスト（空データ） | E-16 | ○ |

### join_rows() 関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-52 | 各結合タイプの行計算テスト | E-18 | ○ |
| C-53 | cross引数テスト | E-18 | ○ |
| C-54 | 不等号条件テスト | E-18, E-19 | ○ |
| C-55 | filterパラメータテスト | E-18, E-19 | ○ |

### 標準化・計算関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-56 | check_unmatchedテスト | E-21 | ○ |
| C-57 | check_join_relationshipテスト | E-21 | ○ |
| C-58 | standardise_join_incompleteテスト | E-22 | ○ |
| C-59 | standardise_join_no_matchテスト | E-22 | ○ |
| C-60 | standardise_join_remainingテスト | E-22 | ○ |
| C-61 | compute_join_relationshipテスト | E-23 | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目はありません
- 全テストケースがソースコード内の関数定義、パラメータ、ドキュメントに基づいています

### 追加検討が必要な領域
1. **パフォーマンステスト**: 大規模データでの結合処理のパフォーマンス検証
2. **dbplyr連携テスト**: データベースバックエンドとの連携
3. **dtplyr連携テスト**: data.tableバックエンドとの連携
4. **エッジケース**: 特殊な型（factor, POSIXct等）を含む結合

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースに明確な根拠が存在
- **注意点**:
  - 不等号結合、ローリング結合、オーバーラップ結合は比較的新しい機能のため、動作確認を推奨
  - many-to-many関係の警告/エラー処理は複雑なため、追加のエッジケーステストを検討

## 6) レビュアーチェックリスト（最小）
- [ ] テストケース番号の連番が正しいか確認
- [ ] テストIDの命名規則（UT-JOI-XXX）が一貫しているか確認
- [ ] 正常系/異常系/境界値の観点が適切にカバーされているか確認
- [ ] 各関数の主要パラメータがテストされているか確認
- [ ] 優先度の設定が適切か確認（金額計算等のクリティカル機能は「高」になっているか）
- [ ] 入力値と期待結果の記述が具体的で再現可能か確認
- [ ] 不等号結合（>=, >, <=, <）のテストケースが網羅されているか確認
- [ ] オーバーラップ結合（between, within, overlaps）のbounds引数がテストされているか確認
