2017-04-20 3 views
0

私は、バイオマーカーxの濃度が低下している患者の経時的なデータセットを持っています。私は、ピークxの割合が25%を下回る、またはxの絶対値が男性の場合は34、女性の場合は16以下になる最初の機会を見つけようとしています。私は%の一部行っている:dplyrの新しい連続変数を変更する

df25 <- df %>% group_by(id) %>% summarise(x_25 = which(x_frac <=25)[1]) 

を私はあなたがこのに絶対値を組み合わせることができるか不思議でしたか?私は、次のことを試してみたが、それは動作しません:

df25a <- df %>% group_by(id) %>% 
    mutate(x_25a = ifelse(x_frac>=25 & x<=34, day, NA)) 

私はあなたの専門知識のために非常に感謝される、体重アンヌマリー

id day x x_frac sex "hoped for x_25" 
1 0 1935 100 0     2 
1 1 1039 54 0     2 
1 2 308  16 0     2 
1 3 112  6 0     2 
2 0 31  100 1     1 
2 1 11  35 1     1 
3 0 204  100 0     NA 
3 1 178  87 0     NA  
+0

あなたは、私が「望んを追加しましたあなたの期待出力 – akrun

+0

@akrunを表示することができます私の質問への出力のために – Annemarie

+0

は、 'x_frac <= 25'より低くならないはずですか? – timfaber

答えて

1

あなたのコードが意味をなすように見える、おそらくこのような何かを? (これはあなたの望んだCOLと一致していませんが、私が思うに、あなたの記述に一致する)

df25a <- df %>% group_by(id) %>% 
    mutate(x_25a = ifelse(sex==0,ifelse(x_frac<=25 | x<=34, day, NA), 
           ifelse(x_frac<=25 | x<=16, day, NA))) 

と要約版:

df25 <- df %>% group_by(id) %>% summarise(x_25 = ifelse(sex[1]==0,which(x_frac <=25 | x<=34)[1], 
                    which(x_frac <=25 | x<=16)[1])) 
+0

はい、それは素晴らしいです。ありがとうございます。各患者のx_25aの最初の非NA値を選択することは可能ですか?私は次のことを試しましたが、最初の値がNAであれば、患者全体がNAになります。 – Annemarie

+0

インデックスを生成する要約バージョンを追加しました(これにより、NAsは破棄されました)。それはあなたにとって有益なのでしょうか? – timfaber

+0

はい、それは素晴らしいです!幸せな日々、ありがとう – Annemarie

関連する問題