Как построить отношения на основе характеристики в другом столбце - PullRequest
0 голосов
/ 27 августа 2010

Я новичок в R и ggplot2 - любой совет приветствуется!

Каждый год я пытаюсь построить соотношение доходов между различными группами навыков в ggplot. То есть Я хочу иметь соотношение доходов Level_4 / Level_3, Level_4 / Level_2 и Level_4 / Level_1 на одном графике.

Заголовки столбцов данных: «Навыки (уровни 1–4)», «Год» и «Средний доход»

Вот выдержка из моего фрейма данных:

   Skills Year MeanIncome


1  Level_1 1970        9330.00
2  Level_1 1973       11525.00
3  Level_1 1976       12740.00
4  Level_1 1979       15533.33
14 Level_2 1970       10171.00
15 Level_2 1973       12400.00
16 Level_2 1976       12012.50
17 Level_2 1979       18550.00
27 Level_3 1970        8580.00
28 Level_3 1973       12433.33
29 Level_3 1976       14673.33
30 Level_3 1979       14400.00
40 Level_4 1973       35000.00
41 Level_4 1976       30000.00
42 Level_4 1979       36000.00

Заранее спасибо за любой совет.

(отредактировано для разборчивости)

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

Спасибо, это очень помогло.Я изменил ваш ответ, чтобы получить то, что я хочу:

require(reshape)
tmp <- cast(data,Year~Skills,value="Meanincome")
ratio <- tmp[,3:5]/tmp[,2]
rownames(ratio) <- tmp$Year
0 голосов
/ 27 августа 2010

Вы можете рассчитать значения, например, изменив форму кадра данных (здесь он называется Данные):

require(reshape)
tmp <- cast(Data,Skills~Year,value="MeanIncome")
ratio <- tmp[,5]/ tmp[,2:4]
rownames(ratio) <- tmp$Year

Коэффициент - это данные, которые вы можете построить. Поскольку я не очень понимаю, как вы хотите, чтобы ваш сюжет выглядел, я не могу помочь вам в дальнейшем. Но с фреймом отношения это не может быть сложно.


Редактировать: просто чтобы помочь TS, я включаю код, который я использовал для чтения в данные:

Data <- read.table(textConnection(
"Skills Year MeanIncome
Level_1 1970 9330.00
Level_1 1973 11525.00
Level_1 1976 12740.00
Level_1 1979 15533.33
Level_2 1970 10171.00
Level_2 1973 12400.00
Level_2 1976 12012.50
Level_2 1979 18550.00
Level_3 1970 8580.00
Level_3 1973 12433.33
Level_3 1976 14673.33
Level_3 1979 14400.00
Level_4 1973 35000.00
Level_4 1976 30000.00
Level_4 1979 36000.00")
, header=T)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...