ほくそ笑む

R言語と統計解析について

文字列からモデル式を作る方法

たまにやるけどすぐ忘れるのでメモ。
文字列からモデル式を作る方法は、

formula <- formula("HOGE ~ GROUP");

のようにやる。
例えば、

GROUP HOGE FUGA PIYO
A 1 2 3
A 2 3 4
B 3 4 5
B 4 5 6
C 5 6 7
C 6 7 8

のようなデータ(data.txt)を列ごとに ANOVA する場合、

data <- read.table("data.txt", header=TRUE);
for(i in 2:4) {
    name <- colnames(data)[i];
    formula <- formula(paste(name, "~ GROUP"));
    aov.result <- aov(formula, data);
    anova(aov.result);
}

のように行うことができる。