dplyr
を使用してデータフレームに新しい変数を追加しようとしていますが、難しかったです。dplyr:各行のすべての変数の関数として変数を追加します。
新しい変数は、(各行のすべての変数値の)長さ2の実行数である必要があります。 apply
を使用して、私はこれを行うだろう:
tmp$rle = apply(tmp,1,function(x) sum(rle(x)$lengths==2))
は、どのように私は(すべての変数名を定義せずに)dplyr
とmutate
を使用して、このアクションを実行することができますか?むしろdplyr
より
tmp <- structure(list(X1 = c(3, 1, 1, 4, 4, 1, 3, 2, 2, 2, 1, 3, 3,
2, 3, 1, 4, 2, 3, 2), X2 = c(2, 4, 2, 2, 3, 2, 1, 1, 3, 1, 3,
1, 4, 4, 4, 1, 3, 1, 2, 1), X3 = c(2, 4, 3, 3, 3, 2, 4, 3, 4,
4, 2, 3, 3, 3, 1, 3, 1, 4, 4, 2), X4 = c(1, 3, 3, 1, 1, 3, 2,
4, 4, 1, 4, 4, 1, 1, 1, 3, 1, 3, 1, 1), X5 = c(4, 2, 4, 2, 1,
4, 1, 2, 2, 4, 3, 4, 1, 1, 4, 4, 2, 4, 4, 3), X6 = c(3, 1, 4,
3, 4, 4, 4, 1, 1, 3, 4, 2, 2, 2, 3, 2, 3, 2, 2, 3), X7 = c(4,
2, 1, 1, 2, 1, 3, 3, 3, 3, 2, 2, 4, 4, 2, 4, 4, 3, 3, 4), X8 = c(1,
3, 2, 4, 2, 3, 2, 4, 1, 2, 1, 1, 2, 3, 2, 2, 2, 1, 1, 4)), .Names = c("X1",
"X2", "X3", "X4", "X5", "X6", "X7", "X8"), row.names = c(NA,
20L), class = "data.frame")
NB:首尾 'apply'を取得しますdplyrで 'mutate'呼び出しの中で作業することは、まれに起こります。私はなぜそれが起こるようにそれがとても難しいか学ぶのが大好きです.... –