У меня есть куча булевых переменных.Я хочу обобщить их и показать процент положительных значений. большая вещь в этом вопросе состоит в том, что переменные логически организованы в двух измерениях.
Результат, который я хочу, должен выглядеть следующим образом (вид):
a b
v1_1 30% 60%
v1_2 60% 50%
Вот минимальный рабочий (самодельный) пример.
#!/usr/bin/env Rscript
set.seed(0)
df <- data.frame(v1_1_a = sample(c(T,F), 10, replace=TRUE),
v1_1_b = sample(c(T,F), 10, replace=TRUE),
v1_2_a = sample(c(T,F), 10, replace=TRUE),
v1_2_b = sample(c(T,F), 10, replace=TRUE))
my_percent <- function (col) { return (100 / length(col) * sum(col)) }
p <- apply(df, 2, my_percent)
print(p)
Это вывод :
v1_1_a v1_1_b v1_2_a v1_2_b
30 60 60 50
Только для информации: реальные данные имеют 80Булевы переменные логические , организованные в матрице 10 x 8.