Как я могу сделать линейный график из prop.table в R? - PullRequest
0 голосов
/ 15 января 2020

Я хотел бы создать линейный график с тремя линиями, по одной для каждой из трех групп в столбце один ниже (т. Е. 1 с, 2 и р, 3 с). Я хотел бы, чтобы моя ось x была вторым столбцом ниже (т.е. np, lo c, adj, V-ing, собираться), а моя ось y была относительной частотой, показанной в третьем столбце. Но я не знаю, как это сделать. Любая помощь будет высоко ценится.

1s  np     0.83333333 0.16666667
    loc    0.90909091 0.09090909
    adj    0.91666667 0.08333333
    V-ing  0.50000000 0.50000000
    gonna  1.00000000 0.00000000
2&p np     0.78571429 0.21428571
    loc    0.87500000 0.12500000
    adj    0.84615385 0.15384615
    V-ing  0.83333333 0.16666667
    gonna  1.00000000 0.00000000
3s  np     0.76315789 0.23684211
    loc    0.87500000 0.12500000
    adj    0.68888889 0.31111111
    V-ing  0.78571429 0.21428571
    gonna  1.00000000 0.00000000

1 Ответ

0 голосов
/ 15 января 2020

Вы ищете что-то подобное? Если это так, вы можете достичь этого, используя пакет ggplot2 и функцию geom_line, передав следующую эстетику aes:

library(ggplot2)
ggplot(data = df, aes(x = XVar, y = Freq1, group = group))+
  geom_line(aes(color = group))

enter image description here

Структура ваших данных (называемая здесь df)

   group  XVar     Freq1      freq2
1:    1s    np 0.8333333 0.16666667
2:    1s   loc 0.9090909 0.09090909
3:    1s   adj 0.9166667 0.08333333
4:    1s V-ing 0.5000000 0.50000000
5:    1s gonna 1.0000000 0.00000000
6:   2&p    np 0.7857143 0.21428571

Воспроизводимые данные

structure(list(group = c("1s", "1s", "1s", "1s", "1s", "2&p", 
"2&p", "2&p", "2&p", "2&p", "3s", "3s", "3s", "3s", "3s"), XVar = c("np", 
"loc", "adj", "V-ing", "gonna", "np", "loc", "adj", "V-ing", 
"gonna", "np", "loc", "adj", "V-ing", "gonna"), Freq1 = c(0.83333333, 
0.90909091, 0.91666667, 0.5, 1, 0.78571429, 0.875, 0.84615385, 
0.83333333, 1, 0.76315789, 0.875, 0.68888889, 0.78571429, 1), 
    freq2 = c(0.16666667, 0.09090909, 0.08333333, 0.5, 0, 0.21428571, 
    0.125, 0.15384615, 0.16666667, 0, 0.23684211, 0.125, 0.31111111, 
    0.21428571, 0)), row.names = c(NA, -15L), class = c("data.table", 
"data.frame"), .internal.selfref = <pointer: 0x55f7ff640350>)
...