Добрый день!
Исходные данные - таблица с двумя столбцами:
- Номер недели (N)
- Вес груза (M)
Количество поставок грузов в неделю может быть любым от 0 и больше
Посчитал количество поставок для каждой недели
df <- table(N, M)
Теперь нужно построить такую диаграмму - Количество поставок по неделям
Пробую это сделать с помощью средств пакета ggplot2 - geom_rect()
Не получается из df получить координаты для прямоугольников.
Пробовал преобразовать table() в data.frame() тогда в таблице получаются только 3 колонки.
Помогите, кто знает.
Спасибо!
Диаграмма geom_rect()
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Диаграмма geom_rect()
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
-
- Гуру
- Сообщения: 4068
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1063
- Ваше звание: программист
- Откуда: Казань
Re: Диаграмма geom_rect()
столько и должно быть. Если нужно больше (ширину w) считаем руками.
hint: ?geom_rect
и читаем, и вникаем
Код: Выделить всё
set.seed(123)
x<-factor(sample(1:5,10,replace=TRUE),levels=1:5)
y<-factor(sample(1:5,10,replace=TRUE),levels=1:5)
table.df<-as.data.frame(table(x,y))
names(table.df)<-c("X","Y","Count")
ggplot(table.df,aes(X,Y))+geom_tile(aes(fill=Count),colour="grey50")
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Диаграмма geom_rect()
Спасибо уважаемый gamm!
Сделал все по Вашему образцу. Теперь всё работает как надо.
Но можно еще вопрос "для повышения собственной образованности".
Есть ли возможность в R преобразовать table() в data.frame() так, чтоб сохранилась структура table?
Или для пользователей R в этом в принципе нет необходимости?
Сделал все по Вашему образцу. Теперь всё работает как надо.
Но можно еще вопрос "для повышения собственной образованности".
Есть ли возможность в R преобразовать table() в data.frame() так, чтоб сохранилась структура table?
Или для пользователей R в этом в принципе нет необходимости?
-
- Гуру
- Сообщения: 4068
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1063
- Ваше звание: программист
- Откуда: Казань
Re: Диаграмма geom_rect()
table - это матрица, видимо она Вам и нужна, а не data.frame. Нужно просто атрибуты поменять
Код: Выделить всё
set.seed(123)
x<-factor(sample(1:5,10,replace=TRUE),levels=1:5)
y<-factor(sample(1:5,10,replace=TRUE),levels=1:5)
table.tbl<-table(x,y)
table.mtr<-table.tbl
class(table.mtr)<-"matrix"
print(table.mtr)
# и если уж очень хочется data.frame (непонятно, правда, зачем - шахматка в виде матрицы удобнее)
table.mtr.df<-as.data.frame(table.mtr)
print(table.mtr.df)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя