/ / Sparktables: Wie kann ich zusätzliche Tabellenelemente ausgeben? - r, sparktauglich

Sparktables: Wie kann ich Additionstabellenelemente ausgeben? - r, spunktbar

Ich habe einen Datenrahmen (Anzahl der Fehler in MS Office über mehrere Jahre), mit dem ich erfolgreich ein marktfähiges generiere:

df_Office_final_sparktable
component   faults time
Excel       2      2001
Excel       1      2002
Excel       5      2003
Excel       5      2004
Excel       5      2005
Excel       6      2006
Excel       0      2007
Excel       0      2008
Excel       0      2009
Excel       0      2010
Excel       0      2011
Excel       0      2012
PPT         1      2001
PPT         1      2002
PPT         1      2003
PPT         1      2004
PPT         2      2005
PPT         3      2006
PPT         0      2007
PPT         0      2008
PPT         0      2009
PPT         0      2010
PPT         0      2011
PPT         0      2012
Word        5      2001
Word        4      2002
Word        3      2003
Word        1      2004
Word        3      2005
Word        2      2006
Word        5      2007
Word        3      2008
Word        0      2009
Word        1      2010
Word        0      2011
Word        0      2012
</ pre>

</ code> Hier ist der entsprechende Code: Office_content<-list(

2001=function(x) { head(x,1) },
2012=function(x) { tail(x,1) },
Office_content[["Office Trend"]]<-newSparkLine())
Office_varType<-rep("outages",3)  df_Office_final_sparktable<-df_Office_final_sparktable[,c("component","faults","time")]  df_Office_final_sparktable$time<-as.numeric(as.character(df_Office_final_sparktable$time))     Office_dat<-reshapeExt(df_Office_final_sparktable,idvar="component",varying=list(2))
Office_sparkTab<-newSparkTable(Office_dat,Office_content,Office_varType)
showSparkTable (Office_sparkTab , outputType = "html", filename = "t1")
</ pre>

</ code> Wie Sie sehen, kann ich eine Tabelle der ausgebenFehler 2001 und 2012 mit den Befehlen head und einer entsprechenden Sparkline. Ich kann jedoch nicht herausfinden, wie die Fehlersummen von 2002 - 2011 (einschließlich) ausgegeben werden sollen. Ich habe versucht, die zweite Zeile mit dem folgenden Code aus dem Datenrahmen zu ziehen:

df_Office_final_sparktable[2:2, 1:3]
</ pre>

</ code> Mir ist klar, dass dies nicht richtig ist, da es keinen Weg gibtDamit ich diesen Befehl wieder auf eine Funktion abbilden kann, habe ich mich gefragt, ob ich 10 separate Funktionen schreiben muss, die ich aufrufen muss, um die erforderlichen Fehlersummen für jede Bürokomponente Jahr für Jahr abzurufen.

Danke im Voraus, Jonathan

Antworten:

0 für die Antwort № 1

Ok, ich habe es endlich herausgefunden. Ich musste 10 Funktionen erstellen, die die 2. Zeile wie folgt aus dem Datenrahmen ziehen:

head_row2_Office <- function(x) {
result <- subset(x, time =="2002" & component =="Excel", select=c(1:3))
return (result)
}
</ pre>

</ code> Danach musste ich die Funktionen in der Listenfunktion wie folgt aufrufen:

Office_content<-list(
Jan=function(x) { head(x,1) },
Feb=function(x) { head_row2_Office(x) },
Mar=function(x) { head_row3_Office(x) },
Apr=function(x) { head_row4_Office(x) },
May=function(x) { head_row5_Office(x) },
Jun=function(x) { head_row6_Office(x) },
Jul=function(x) { head_row7_Office(x) },
Aug=function(x) { head_row8_Office(x) },
Sep=function(x) { head_row9_Office(x) },
Oct=function(x) { head_row10_Office(x) },
Nov=function(x) { head_row11_Office(x) },
Dec=function(x) { tail(x,1) },
Office_content[["Office Trend"]]<-newSparkLine()
)

Office_varType<-rep("outages",13) # set the tables columns to 13 for table + graph
df_Office_final_sparktable<-df_Office_final_sparktable[,c("component","faults","time")]
df_Office_final_sparktable$time<-as.numeric(as.character(df_Office_final_sparktable$time))
Office_dat<-reshapeExt(df_Office_final_sparktable,idvar="component",varying=list(2))
Office_sparkTab<-newSparkTable(Office_dat,Office_content,Office_varType)
showSparkTable (Office_sparkTab , outputType = "html", filename = "t1")
</ pre>

</ code>