これについての回答を見つけるのは本当に難しく、重複している場合は謝っています。dplyrを使用して条件付きで列内の値を別の列の値に置き換えます
私は質問を説明するためにいくつかのダミーデータを作成します。彼らが1に等しい場合、彼らはの値を取るように私は条件付きで列SAMPLE1とSAMPLE2の値を変更する方法に
tibble(a=c(0.1, 0.2, 0.3), sample1 = c(0, 1, 1), sample2 = c(1, 1, 0))
# A tibble: 3 x 3
a sample1 sample2
<dbl> <dbl> <dbl>
1 0.1 0 1
2 0.2 1 1
3 0.3 1 0
。
結果tibbleは次のようになります。
# A tibble: 3 x 3
a sample1 sample2
<dbl> <dbl> <dbl>
1 0.1 0 0.1
2 0.2 0.2 0.2
3 0.3 0.3 0
理想的には私は(私は> 100のサンプルの列を持っている)個々のサンプル列のためにこれを行うにはしたくないので、列をループする方法はでしょう(私はループが悪魔であることは分かっているが)より良いことがある。
ありがとうございました!
マン..私はmutate_atをしばらく使ってみましたが、ifelse()の代わりにreplace()を使っていました。これは完璧に働いた...ありがとう! – Ryan
'replace'も私の最初の考えでした。しかし、それは条件と交換が同じ長さかリサイクル可能であることが必要で、これはここで 'ifelse'ほど便利ではありません。 – Psidom