Как ввести данные в ggplots - PullRequest
0 голосов
/ 13 февраля 2020

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

#functions for the hh budget and utility functions
pqxf      <- function(y)(1*y) # replace p with price of y
pqyf      <- function(x)(-1.25*x)+20 # -1.25 is the wage rate
utilityf  <- function(x)80*(1/(x)) # 80 is the utility provided
hours     <- c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)

#functions are turned into data frames
pqy     <- data.frame("consumption" = 
pqxf(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)))
pqx     <- data.frame("leisure"     = 
pqxf(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)))
utility <- data.frame("utility"     = 
utilityf(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)))
#each data frame is combined into a single data frame, that will be used for tables and charts
hh      <- data.frame(pqx, pqy, utility, hours)
print(hh)
#this shows the utility, and the cost of x and y, one data frame

library(ggplot2)

ggplot(hh, aes(x=pqx, y=hours))+
xlim(0,20)+ylim(0,20)+         # limits set for the assignment 
    labs(x = "leisure(hours)",y="counsumption(units)")+
          geom_line(aes(x = pqx, y = pqy))+
          geom_line(aes(x = pqx, y = utility))+
          geom_point(aes(x=8,y=10))+ #values of x and y of tangent point
          geom_hline(yintercept = 10,linetype="dotted")+ # y of tangent point
          geom_vline(xintercept = 8,linetype = "dotted")+ #x of tangent point
          geom_text(label="E", x=8,y=10,hjust=-1,size=2)+
          geom_text(label="-1.25(units/hour)= -w = MRS", x=9,y=2,hjust=.02,size=2)+
          geom_text(label="U=80", x=4,y=19,hjust=1,size=2)

при вводе я получаю следующее сообщение:

Ошибка в is.finite (x): метод по умолчанию не реализован для типа «список»

Должен ли я хранить данные в другом формате, чем фрейм данных? по-другому отформатировать мой фрейм данных или по-другому настроить ggplot, чтобы он мог обрабатывать списки?

1 Ответ

1 голос
/ 13 февраля 2020

Попробуйте заменить pqx на leisure, а pqy на comsumption. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...