Я пытаюсь показать навигацию на графике R. Текущий статус во время один или (t1) устанавливается как val$currentstatus, а следующий статус в (t2) должен отображаться на графике на основе действия, которое пользователь выбирает в чековой книжке. затем я хочу нарисовать линию, чтобы показать этот путь. Код, который я написал, выглядит следующим образом
output$navigation<-renderPlot({
#initial state of X and Y
if(is.element("Within", vals$currentstatus))
x <- 1
y <- 2
if(is.element("Out", vals$currentstatus)) {
x <- 1
y <- 1
}
action<-c(input$action1,input$action2)
x<-1:4
y<-1:2
rewards<-matrix(rep(0,8),nrow=2)
rewards[1,4]<- -1
rewards[2,4]<- 1
values<-rewards#initial Values
states<-expand.grid(x=x,y=y)
#Transition probability
transition <- list( input$action1= c("within" = 0.8, "out" = .2),
input$action2= c("within" = 0.3, "out" = .7))
# The value of an action (e.g. move toward benchmark )
action.values <- list(input$action1 = c("x" = 1, "y" = 0),
input$action1 = c("x" = 1, "y" = 0))
# act() function serves to move the agent to go to new position
act <- function(action, state) {
action.value <- action.values[[action]]
new.state <- state
#
if(state["x"] == 4 && state["y"] == 1 || (state["x"] == 4 && state["y"] == 2))
return(state)
#
new.x = state["x"] + action.value["x"]
new.y=if(transition["within">"out"]){state["y"==2]}
if(transition["within"<"out"]){state["y"==1]}
}
plot(x, y, xaxt='n',yaxt='n',cex=10,pch=19,
col=ifelse(y==1,"red","green"),ylab="status",xlab="period",
xlim=c(0,4), ylim=c(0,3))
axis(1,at=1:4,labels=c("t1","t2","t3","t4"))
axis(2,at=1:2,labels=c("out bench","within bench"))
если следующая позиция находится в пределах скамейки, она должна быть зеленой и соединяться с предыдущим состоянием, а если она находится вне скамейки, она должна быть красной и соединяться с предыдущим состоянием. Также я хочу видеть имя выбранного действия на линии соединения между двумя состояниями. Кроме того, я хочу знать, как я могу обновить новую позицию и использовать ее для расчета следующего состояния в следующем периоде (t3) и так далее. Аналогично следующий график:
graphviz
? - person RmIu   schedule 21.10.2015