No.21549 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/24(Tue) 16:02
lapply(d[y], function(Y) summary(glm(Y~d[,x],family=binomial)))
とかすれば,一行でできますし?
とかが,他での回答であります。
No.21550 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/24(Tue) 16:13
y,x1,x2のようなheaderにして,ブロックを読み込ませてやってみました。
> d<-read.delim("clipboard",header=T)
> lapply(d[y], function(Y) summary(glm(Y~d[,x],family=binomial)))
Error in model.frame.default(formula = Y ~ d[, x], drop.unused.levels = TRUE) :
invalid type (list) for variable 'd[, x]'
No.21551 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/24(Tue) 16:39
d<-read.table("clipboard",header=T)
> ans <- glm(x1 ~ y, d, family = binomial)
> summary(ans)
で,できますが,いちいちで大変なのです。(^^;)
No.21552 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/24(Tue) 16:42
そして,多くの結果はいらなくて,回帰の有意差と係数の値,符合だけでよいのですが;
No.21553 Re: 多数の結果変数があるロジスティック分析 【青木繁伸】 2015/02/24(Tue) 17:08
> lapply(d[y], function(Y) summary(glm(Y~d[,x],family=binomial)))
> とかすれば,一行でできますし?
の前に,y とか x が何かについて書いてあるでしょう。
たぶん,y は従属変数にする複数の列番号のベクトル,x は独立変数の列番号...
ですから,
> y,x1,x2のようなheaderにして,ブロックを読み込ませてやってみました。
のようにしてやっても,できなくて当たり前なんでしょう...
でたらめにやってもだめです。
テストデータも,ちゃんと作ってやらないとね。
ということで,ちゃんとすれば,以下のように,ちゃんとした結果が出ますね...set.seed(999)実行結果
d <- data.frame(前立腺肥大.症. =rnorm(500, 50, 10),
新生物=sample(0:1, 500, replace=TRUE),
胃の悪性新生物=sample(0:1, 500, replace=TRUE),
結腸の悪性新生物=sample(0:1, 500, replace=TRUE),
直腸S状結腸移行部及び直腸の悪性新生物=sample(0:1, 500, replace=TRUE),
肝及び肝内胆管の悪性新生物=sample(0:1, 500, replace=TRUE),
気管.気管支及び肺の悪性新生物=sample(0:1, 500, replace=TRUE))
head(d, 10)
x <- 1 # 前立腺肥大.症.をつかって,
y <- 2:7 # 新生物 〜 気管.気管支及び肺の悪性新生物 を予測したいということでしょう...
lapply(d[y], function(Y) summary(glm(Y ~ d[,x], family=binomial)))> set.seed(999)
> d <- data.frame(前立腺肥大.症. =rnorm(500, 50, 10),
+ 新生物=sample(0:1, 500, replace=TRUE),
+ 胃の悪性新生物=sample(0:1, 500, replace=TRUE),
+ 結腸の悪性新生物=sample(0:1, 500, replace=TRUE),
+ 直腸S状結腸移行部及び直腸の悪性新生物=sample(0:1, 500, replace=TRUE),
+ 肝及び肝内胆管の悪性新生物=sample(0:1, 500, replace=TRUE),
+ 気管.気管支及び肺の悪性新生物=sample(0:1, 500, replace=TRUE))
> head(d, 10)
前立腺肥大.症. 新生物 胃の悪性新生物 結腸の悪性新生物 直腸S状結腸移行部及び直腸の悪性新生物 肝及び肝内胆管の悪性新生物
1 47.18260 0 0 0 1 0
2 36.87440 0 1 1 1 1
3 57.95184 1 0 1 1 1
4 52.70070 1 0 1 1 1
5 47.22694 1 0 0 0 0
6 44.33976 0 0 1 1 1
7 31.21342 0 0 1 0 1
8 37.33209 1 0 0 0 1
9 40.32250 0 1 1 0 0
10 38.78991 1 1 0 1 1
気管.気管支及び肺の悪性新生物
1 1
2 1
3 0
4 1
5 1
6 0
7 1
8 0
9 1
10 0
> x <- 1 # 前立腺肥大.症.をつかって,
> y <- 2:7 # 新生物 〜 気管.気管支及び肺の悪性新生物 を予測したいということでしょう...
> lapply(d[y], function(Y) summary(glm(Y ~ d[,x], family=binomial)))
$新生物
Call:
glm(formula = Y ~ d[, x], family = binomial)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.223 -1.154 -1.099 1.198 1.274
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.384747 0.464969 -0.827 0.408
d[, x] 0.006653 0.009232 0.721 0.471
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 692.76 on 499 degrees of freedom
Residual deviance: 692.24 on 498 degrees of freedom
AIC: 696.24
Number of Fisher Scoring iterations: 3
$胃の悪性新生物
Call:
glm(formula = Y ~ d[, x], family = binomial)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.206 -1.195 1.150 1.161 1.172
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.025059 0.464052 -0.054 0.957
d[, x] 0.001317 0.009218 0.143 0.886
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 692.95 on 499 degrees of freedom
Residual deviance: 692.93 on 498 degrees of freedom
AIC: 696.93
Number of Fisher Scoring iterations: 3
以下略
> 多くの結果はいらなくて,回帰の有意差と係数の値,符合だけでよいのですが
お好きなだけ,お好きな結果を書き出せばよいです。
lapply(d[y], function(Y) summary(glm(Y ~ d[,x], family=binomial)))
の
function(Y) summary(glm(Y ~ d[,x], family=binomial))
の部分を思う存分書き直してください。
No.21554 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/25(Wed) 09:15
set.seed(999)
d <- data.frame(前立腺肥大.症. =rnorm(500, 50, 10),新生物=sample(0:1, 500, replace=TRUE),胃の悪性新生物=sample(0:1, 500, replace=TRUE),結腸の悪性新生物=sample(0:1, 500, replace=TRUE),直腸S状結腸移行部及び直腸の悪性新生物=sample(0:1, 500, replace=TRUE),肝及び肝内胆管の悪性新生物=sample(0:1, 500, replace=TRUE),気管.気管支及び肺の悪性新生物=sample(0:1, 500, replace=TRUE))
で
set.seed(999)とrnorm(500, 50, 10)は何でしょうか?
No.21555 Re: 多数の結果変数があるロジスティック分析 【青木繁伸】 2015/02/25(Wed) 09:57
> set.seed(999)とrnorm(500, 50, 10)は何でしょうか?
オンラインヘルプで見てください。
? set.seed
? rnorm
新しい物を自分で調べないと,いつまで経っても初心者のままですよ。
No.21556 Re: 多数の結果変数があるロジスティック分析 【R初心者】 2015/02/25(Wed) 10:22
d<-read.table("clipboard",header=T)
> ans <- glm(x1 ~ y, d, family = binomial)
> summary(ans)
をまとめて,記述して行いました。ありがとうございました。
No.21557 Re: 多数の結果変数があるロジスティック分析 【青木繁伸】 2015/02/25(Wed) 22:35
必要なのは
> x <- 1 # 前立腺肥大.症.をつかって,
> y <- 2:7 # 新生物 〜 気管.気管支及び肺の悪性新生物 を予測したいということでしょう...
> lapply(d[y], function(Y) summary(glm(Y ~ d[,x], family=binomial)))
なのですが,本質をわかってもらえなかったのですね。とっても残念です。
● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る