일부 샘플 데이터 : 액션에서
count.or <- function(dat, n = 2) {
or.sum <- function(cols) sum(rowSums(dat[cols]) > 0)
counts <- combn(colnames(dat), n, FUN = or.sum)
names <- combn(colnames(dat), n, FUN = paste, collapse = "")
setNames(counts, names)
}
:
count.or(dat, 1)
# A B C D
# 6 6 5 9
count.or(dat, 2)
# AB AC AD BC BD CD
# 8 7 9 9 10 9
count.or(dat, 3)
# ABC ABD ACD BCD
# 9 10 9 10
count.or(dat, 4)
# ABCD
# 10
n <- 10
dat <- data.frame(A = sample(0:1, n, replace = TRUE),
B = sample(0:1, n, replace = TRUE),
C = sample(0:1, n, replace = TRUE),
D = sample(0:1, n, replace = TRUE))
결합하는 열의 수를 주어진 함수는, 모든 조합 및 해당 금액을 계산
또는 한 번의 전화 :
unlist(lapply(1:4, count.or, dat = dat))
# A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD
# 6 6 5 9 8 7 9 9 10 9 9 10 9 10 10
이진 열 A와 B를 결합한다는 것은 무엇을 의미합니까? OR 또는 AND를 계산 하시겠습니까? – flodel
OR, 열 A 또는 B에 나타나는 모든 1을 계산하십시오. – DrPaulVella
음, 내가 참조한 것을 OR로 알지 못합니다 ... 그래서 A를 (0, 0, 1, 1) B는 (0, 1, 1, 0)이고, A와 B를 결합한 결과는 무엇인가 : 3 또는 4? – flodel