私はRにジャンプしようとする新人のSTATAユーザーです。私は様々な演習を行っていますが、group_byとsubsetコマンドで何か問題があります。group_byとsubsetコマンドを使ったグループ計算
私はグループベースの計算を行うための簡単なデータセットを用意しています。私はこれを行うdplyrパッケージからgroups_byコマンドを使用しようとしています。
私のデータセットがかゆみと呼ばれ、4 variabelsから構成されている:
treat-レベルA及びB(処理の種類)
タイプ - レベルダークフェア(肌色)
Y - (レベル0と1故障や治療の大成功)
FREQ - このコードを使用して、この特定のグループ
しているどのように多くの示す数値変数は、あなたはそれを再作成することができます
type <- c(2,2,2,2,1,1,1,1)
treat <-c(1,1,2,2,1,1,2,2)
y <- c(1,0,1,0,1,0,1,0)
freq <- c(9,17,5,20,10,15,3,20)
itchy <- cbind.data.frame(type,treat,y,freq)
itchy$type <- as.factor(type)
itchy$type <- factor(itchy$type,levels = c(1,2), labels = c("Dark", "Fair"))
itchy$treat <- as.factor(treat)
itchy$treat <- factor(itchy$treat,levels = c(1,2), labels = c("A", "B"))
itchy$y <- as.factor(y)
itchy$y <- factor(itchy$y,levels = c(0,1), labels = c("failure", "succes"))
Skintype DarkまたはFairに適用したときの治療AおよびBの成功のためのodsを計算したいと思います。
(失敗の成功したイベント/ NRのODSの=のNR)私は2つの質問がある:
1)あなたは私がグループでODSの計算を行うことを支援することはできますか?
2)私はgroup_byとサブセットのさまざまな組み合わせを試してみました。以下のコードは、失敗した試みのいくつかを示しています。あなたは、私はこれがあなたの望ましい結果が得られないGROUP_BYとサブセットのコマンドがどのように動作するか
itchy %>% group_by(treat, type) %>% summarize(ods = (subset(freq, y==1)/subset(freq, y==0)))
itchy %>% group_by(treat, type) %>% ods <- c((subset(freq, y==1)/subset(freq, y==0)))
itchy %>% group_by(treat, type) %>% itchy$ods <- (subset(freq, y==1)/subset(freq, y==0))
これは魅力的だった。 コードを理解していることを確認してください: "spread"は、y変数を長い形式から長い形式に変更します。 "mutate"は新しい変数 –
を生成します。これは正しいです。明確にするために引数名を使用していたはずです。 http://tidyr.tidyverse.orgでオンラインでドキュメントを見つけることができます –