Преобразовать группу в сводную таблицу
У меня есть часть данных, которую я пытаюсь преобразовать в сводную таблицу Excel, чтобы воспользоваться функциональностью, когда вы дважды щелкаете мышью по ячейке, и она генерирует новый лист с подробной информацией.
Текущая группировка и подсчет выполняются в R / SQL, используя что-то вроде этого:
sqla <- paste('select Species
, CASE WHEN "Sepal.Length" >= 5.8
THEN 1
ELSE 0
END LongSepalLength
, CASE WHEN "Sepal.Width" >= 3
THEN 1
ELSE 0
END LongSepalWidth
, CASE WHEN "Petal.Length" >= 3.75
THEN 1
ELSE 0
END LongPetalLength
, CASE WHEN "Petal.Width" >= 1.12
THEN 1
ELSE 0
END LongPetalWidth
, count(*) Count
from iris
group by Species
, CASE WHEN "Sepal.Length" >= 5.8
THEN 1
ELSE 0
END
, CASE WHEN "Sepal.Width" >= 3
THEN 1
ELSE 0
END
, CASE WHEN "Petal.Length" >= 3.75
THEN 1
ELSE 0
END
, CASE WHEN "Petal.Width" >= 1.12
THEN 1
ELSE 0
END
', sep = '')
sqlb <- sqldf(sqla)
sqlb
Это создает что-то вроде этого:
Species LongSepalLength LongSepalWidth LongPetalLength LongPetalWidth Count
1 setosa 0 0 0 0 2
2 setosa 0 1 0 0 47
3 setosa 1 1 0 0 1
4 versicolor 0 0 0 0 6
5 versicolor 0 0 0 1 1
6 versicolor 0 0 1 0 2
7 versicolor 0 0 1 1 8
8 versicolor 0 1 1 1 4
9 versicolor 1 0 1 0 2
10 versicolor 1 0 1 1 15
11 versicolor 1 1 1 1 12
12 virginica 0 0 1 1 3
13 virginica 1 0 1 1 18
14 virginica 1 1 1 1 29
Который аккуратен и читабелен. Я хотел бы дважды щелкнуть столбец "Count" и создать Excel с подробной информацией о строках, содержащихся в этой ячейке.
Поэтому я использую этот код для создания данных, чтобы идти к Excel:
sqla <- paste('select Species
, CASE WHEN "Sepal.Length" >= 5.8
THEN 1
ELSE 0
END LongSepalLength
, CASE WHEN "Sepal.Width" >= 3
THEN 1
ELSE 0
END LongSepalWidth
, CASE WHEN "Petal.Length" >= 3.75
THEN 1
ELSE 0
END LongPetalLength
, CASE WHEN "Petal.Width" >= 1.12
THEN 1
ELSE 0
END LongPetalWidth
from iris
', sep = '')
sqlb <- sqldf(sqla)
sqlb
write.csv(sqlb, file = '~/iris.csv', row.names = F)
Однако, когда я пытаюсь воссоздать аккуратную таблицу выше в сводной таблице Excel, я получаю это:
Который непригоден.
Любые предложения о том, как получить что-то похожее на таблицу SQL?
1 ответ
Вы правы с R, просто нужно несколько опорных точек:
- выделите все поля в виде линий
- выберите количество видов в качестве значений
- удалить промежуточные и общие итоги
- выберите табличный макет с повторяющимися метками