## 基本的な違い **numeric 型**は数値を表すデータ型で、算術演算が可能です。 ```r age <- 25 # numeric型 age + 5 # 30 (演算可能) ``` **factor 型**はカテゴリカルデータを表現する特殊なデータ型です。 ```r blood_type <- factor(c("A", "B", "O", "AB")) levels(blood_type) # "A" "AB" "B" "O" ``` ## 分析における factor 型と numeric 型 分析では、数値変数の扱い方で結果が大きく変わります。 通常は数字は numeric 型 として扱います。 **factor 型として扱うべき場合** - 質的な違いを表す数値を扱う場合 - 例:性別(女性=1、男性=2など) - 経時的な測定ポイントの比較をしたい場合 - 例えば臨床試験での 0ヶ月、6ヶ月、12ヶ月のように定期的な測定ポイントでの群間比較をしたいとき。 - 0、6、12ヶ月と直線的に変化をせず、ジグザグに変化するようなときで、6ヶ月での群間比較、12ヶ月での群間比較といった各タイミングでの比較をしたいとき。 ```r # 例:経時的データで月をfactorとして扱う model_gls_cat <- lmer(GLS ~ GLS_base + LVH_class * factor(month) + (1 + time | id), data = data_gls_long, REML = TRUE) ``` この例では、`factor(month)`を使うことで: - 0ヶ月、6ヶ月、12ヶ月など各時点を独立したカテゴリとして扱える - 各測定時点での群間(LVH_class)の差を検定できる - 時間経過による変化パターンが群によって異なるかを検出できる - 線形でない時間効果(例:最初の6ヶ月で急激な変化があり、その後安定する)も捉えられる もし、`month` を `numeric` として扱うと、直線的に変化するというモデリングになります。そのため、0→6→12ヶ月と直線的に変化します。0ヶ月が 5、6ヶ月が 10 であれば、12ヶ月は必然的に 15 となるようなモデリングです。 具体的な回帰での違いは [[R - factor と numeric の回帰分析での違い]] で勉強してください。