2017-05-01 6 views
1

ich habe diesen Code, der normalerweise in RStudio arbeiten aber ich werde nicht das in glänzenden as.datatable() funktioniert nicht in glänzend mit renderFormattableR formatierbare Datentabelle zu glänzend

heißt es „keine anwendbare Methode für‚as .htmlwidget‘angewendet auf ein Objekt der Klasse "C ('Datentabellen', 'htmlwidget')",“

server.R

Ausgabe $ data < -renderFormattable ({

df1<-merge(happiness5[,c(1,3)], 
      happiness6[,c(1,3)], 
      by.x = "Country", 
      by.y = "Country") 
    colnames(df1)<-c("Country","Happiness Rank 2015","Happiness Rank 2016") 
    df1<-df1%>% 
    mutate(`Rank Change`=`Happiness Rank 2015`-`Happiness Rank 2016`) 


    formattable(df1,list(
    `Rank Change` = formatter(
     "span", 
     style=~formattable::style(color=ifelse(`Rank Change`>0,"green","red")))))%>% 
    as.datatable() 
},env = parent.frame(), quoted = FALSE) 

Antwort

2

Ändern renderFormattable(…) zu renderDataTable(…).

Da Sie in Ihrer vorletzten Zeile die formattable in eine datatable konvertiert haben, müssen Sie dem Renderer mitteilen, dass er sich mit einer datatable befassen muss.