2015-07-25 4 views
1

Я хочу иметь следующий кадр данныхпостроение графика, группируя столбец кадра данных

Value Phase 
22 1 
23 1 
40 1 
19 2 
17 2 
16 2 
12 3 
13 3 
14 3 
9  4 
7  4 
6  4 

Я хочу видеть, как сумма value конкретной фазы изменилась за другой phases. Столбец phase может варьироваться от 1 до 5. Я хочу видеть от фазы 1 до фазы с 2 по 3 и т. Д., Есть ли уменьшение или увеличение суммы значения этой фазы. Я хочу использовать базовую систему построения. Как я могу построить график так, чтобы изменения в каждом phase были прояснены.

+1

Поскольку существует множество значений для каждой фазы, как вы хотите, чтобы измерить эти изменения? имею в виду? медиана? что-то другое? – erasmortg

+0

Я хочу знать разные фазы, значение увеличилось или уменьшилось. Итак, какая мера подходит наилучшим образом и после выбора меры, как мне построить график с использованием базовой схемы сюжета – Minions

+3

'boxplot (Value ~ Phase, data = data)' может быть? – thelatemail

ответ

1

Вот как сделать линию + разброс графика сумм Value для каждого значения в Phase. Сначала вам необходимо агрегировать данные по Phase. Я предоставляю как базовое R-решение (по вашему запросу), так и решение ggplot.

df <- read.table(text = "Value Phase 
         22 1 
         23 1 
         40 1 
         19 2 
         17 2 
         16 2 
         12 3 
         13 3 
         14 3 
         9  4 
         7  4 
         6  4", header = TRUE) 

sums <- aggregate(Value ~ Phase, df, sum, na.rm = TRUE) 
png("sums.png", height = 540, width = 540) 
plot(sums$Phase, sums$Value, xlab = "Phase", ylab = "Sum of Value") 
lines(sums$Phase, sums$Value, type = "l") 
dev.off() 

# ggplot method 
require(ggplot2) 
ggplot(sums, aes(x = Phase, y = Value)) + geom_point() + geom_line() 
ggsave("sums-ggplot.png") 

enter image description here

enter image description here

Смежные вопросы