"J"または "N"のいずれかに等しい値を含む行列を持っています。これらの値は、3,2、または1のブロックに表示され、値なしで区切られます。私は3,2と1のブロックが何度も出現することを数えたいと思う。私はJとNを1で置き換えた後、次の関数に従ってそれを数えればそれを行うことができます。しかし、あなたはそれが行列JとNとの間のおかげセルがテキストに等しいときの出現回数をカウントする
を分離するためにどのように行うことができます。
t1 t2 t3 t4 t5 t6 t7
[1,] 0 0 0 0 J J 0
[2,] 0 0 N N 0 0 N
[3,] J J J 0 0 0 0
[4,] 0 0 N N N 0 0
(チャットの誰かからの)コードJ
n1 <- 2
n2 <- 3
res <- t(apply(Calendar, "J", FUN=function(x) {
x1 <- with(rle(x), lengths[!!values])
c(sum(x1==n1), sum(x1==n2))
}))
colnames(res) <- paste0("count", c(11, 111))
res
ためまあ、それはありません最終的には行列を持っていたいと思います(初期行列に従います)
J3 J2 J1 N3 N2 N1
1 2 0 1 1 1
明確化:
マトリックス:これはカレンダーで、1-7は、この潜在的なマトリックスに所望の答えがどうなるか曜日、であるという仮定の下で
t1 t2 t3 t4 t5 t6 t7
[1,] 0 0 0 0 0 J J
[2,] J 0 N N 0 0 N
[3,] J J J 0 0 0 N
[4,] N 0 N N N 0 0
J2には2、J1にはどのようにして得ましたか? – akrun