たとえば、data.tableには3つの列があります。私は単一の列の条件に基づいて各行を変更したい。簡単に言えする方法はありdplyrで行全体に条件を適用する
a <- c(1,2,3,4,5)
b <- c(2,4,6,7,8)
c <- c(3,6,9,0,3)
data.frame(a,b,c) %>% rowwise() %>% mutate(a=ifelse(a==4,a*4,a),
b=ifelse(a==4,b*4,b),
c=ifelse(a==4,c*4,c))
:この例では、列の場合== 4は、その行のすべての列が、これは次のようになり、すべての変数で記述された4
を掛けています各列を書き込むことなく1行で条件を満たしていますか?
data.frame(a,b,c) %>% rowwise() %>% mutate(.=ifelse(a==4,.*4,.))
なぜdplyrですか? 'df [df $ a == 4、] < - df [df $ a == 4、] * 4' – zx8754
これは例より複雑です。これは、dplyrソリューションに比べて実際には遅いでしょうか? – Sebastian
「複雑な」例を提供してください。 – zx8754