Вот мои данные игрушки:
df <- tibble::tribble(
~var1, ~var2, ~var3, ~var4, ~var5, ~var6, ~var7,
"A", "C", 1L, 5L, "AA", "AB", 1L,
"A", "C", 2L, 5L, "BB", "AC", 2L,
"A", "D", 1L, 7L, "AA", "BC", 2L,
"A", "D", 2L, 3L, "BB", "CC", 1L,
"B", "C", 1L, 8L, "AA", "AB", 1L,
"B", "C", 2L, 6L, "BB", "AC", 2L,
"B", "D", 1L, 9L, "AA", "BC", 2L,
"B", "D", 2L, 6L, "BB", "CC", 1L)
Мой оригинальный вопрос по следующей ссылке https://stackoverflow.com/a/53110342/6762788 был:
Как я могу получить комбинацию из минимального числапеременные, которые однозначно определяют наблюдения в кадре данных, т.е. какие переменные вместе могут сделать первичный ключ?Следующий ответ / код работает абсолютно нормально, большое спасибо thelatemail .
nms <- unlist(lapply(seq_len(length(df)), combn, x=names(df), simplify=FALSE), rec=FALSE)
out <- data.frame(
vars = vapply(nms, paste, collapse=",", FUN.VALUE=character(1)),
counts = vapply(nms, function(x) nrow(unique(df[x])), FUN.VALUE=numeric(1))
)
Теперь, чтобы заставить его работать с большими данными, я хочу передать это в SparkR.Используя этот ответ, кто-нибудь может помочь мне перевести этот код в SparkR?Если это сложно в SparkR, то в sparklyr.