ここに小さな例があります:
A <- c(1,1,1,1, 0, 0, 0, 2,2,2)
B <- c(1,1,1,1, 0, 0, 0, 0,2,2)
C <- c(1,1,3,3, 0,0, 2,2,2, NA)
myd <- data.frame (A, B, C)
「prod」(prod(myd $ myvar、na.rm = TRUE)という関数を適用する必要があります。適用する前に、0の数を数える必要があります。
(1) If number zeros are equal to or less than 3, I need to replace with NA
myd$A[myd$A ==0] <- NA
(2) If number of zeros are greater than 3, no replacement action need to be done.
myd$B[myd$B ==0] <- 0
ゼロを数え、条件を適用して結果を得るにはどうすればよいですか。
編集:上記のデータセットでは、AとCは条件1とBの条件2を満たしています。