R сюжетные круговые диаграммы: объект 'x' не найден, несмотря на то, что он является именем столбца данных - PullRequest
0 голосов
/ 05 апреля 2019

Попытка создать сюжеты круговых диаграмм, следуя базовому онлайн-уроку.

Датафрейм выглядит следующим образом:

     seed aae bge pte tca
1  AUUGCA   2   4   3   1
2  CACUGG   2   0   0  10
3  UUGUUC   1   1   1   1
4  UUUGAU   1   1   1   0
5  ACUGGC   1   1   0   1
6  AAAUGC   1   1   2   0
7  AUCACA   8   5   9   0

Мне бы хотелось 4 круговых диаграммы (столбцы aae-tca), каждый из которых отображал бы значения в своем столбце соответствующего seq seq (столбец 1).Код, который я использовал ниже, однако я получаю ошибку «Ошибка в eval (expr, data, expr_env): объект 'seed' не найден».

library(plotly)
library(dplyr)

p <- plot_ly() %>%
  add_pie(data = count(df, aae), labels = ~seed, values = ~aae,
          name = "A. aeg", domain = list(row = 0, column = 0)) %>%
  add_pie(data = count(df, bge), labels = ~seed, values = ~bge,
          name = "B .ger", domain = list(row = 0, column = 1)) %>%
  add_pie(data = count(df, pte), labels = ~seed, values = ~pte,
          name = "P. tep", domain = list(row = 1, column = 0)) %>%
  add_pie(data = count(df, tca), labels = ~seed, values = ~tcas,
          name = "T. cas", domain = list(row = 1, column = 1))%>%
  layout(title = "Pie Charts with Subplots", showlegend = F,
         grid=list(rows=2, columns=2),
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))

p

1 Ответ

0 голосов
/ 23 июля 2019

Вам не нужно использовать count() на круговых диаграммах, add_pie() сделает это за вас. Просто удалите data = count(df, ...) вашего кода.

Как это:

# yours data
df = data.frame(
  seed =c("AUUGCA" ,"CACUGG" ,"UUGUUC" ,"UUUGAU" ,"ACUGGC" ,"AAAUGC" ,"AUCACA" ),
  aae=c(2 ,2 ,1 ,1 ,1 ,1 ,8 ),
  bge=c(4, 0, 1, 1, 1,  1,  5), 
  pte =c(3 ,0 ,1 ,1 ,0 ,2 ,9 ),
  tca = c(1,10,1,0,1,0,0)
)

library(plotly)

# Make pies

df%>%
  plot_ly() %>%
  add_pie(labels = ~seed, values = ~aae,
          name = "A. aeg", domain = list(row = 0, column = 0)) %>%
  add_pie(labels = ~seed, values = ~bge,
          name = "B .ger", domain = list(row = 0, column = 1)) %>%
  add_pie(labels = ~seed, values = ~pte,
          name = "P. tep", domain = list(row = 1, column = 0)) %>%
  add_pie(labels = ~seed, values = ~tca,
          name = "T. cas", domain = list(row = 1, column = 1))%>%
  layout(title = "Pie Charts with Subplots", showlegend = F,
         grid=list(rows=2, columns=2),
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))

Вот вывод:

pies

...