以下は、idvarとtimevarに加えて、xvar、yvar、colorvar、およびsizevarのデフォルト値を指定できるgvisMotionChartの小さなインターフェイス関数です。これは、提供されたdata.frameの列順序を変更するだけで実現します。この関数は、ブール値を数値に変換します(そうでなければ、gvisMotionChartはエラーをスローします)。私はモーションチャートも断面データの解析に非常に便利なので、timevar = NULLを設定することができます。
# Convenience interface to gvisMotionChart that allows to set default columns
myMotionChart = function(df,idvar=colnames(df)[1],timevar=colnames(df)[2],xvar=colnames(df)[3],yvar=colnames(df)[4], colorvar=colnames(df)[5], sizevar = colnames(df)[6],...) {
library(googleVis)
# Generate a constant variable as column for time if not provided
# Unfortunately the motion plot still shows 1900...
if (is.null(timevar)) {
.TIME.VAR = rep(0,NROW(df))
df = cbind(df,.TIME.VAR)
timevar=".TIME.VAR"
}
# Transform booleans into 0 and 1 since otherwise an error will be thrown
for (i in 1:NCOL(df)) {
if (is.logical(df [,i])[1])
df[,i] = df[,i]*1
}
# Rearrange columns in order to have the desired default values for
# xvar, yvar, colorvar and sizevar
firstcols = c(idvar,timevar,xvar,yvar,colorvar,sizevar)
colorder = c(firstcols, setdiff(colnames(df),firstcols))
df = df[,colorder]
gvisMotionChart(df,idvar=idvar,timevar=timevar,...)
}
、過去に同様の質問がありました: http://stackoverflow.com/questions/7063410/r-googlevis-problem-embedding-on-blogger http://stackoverflow.com/questions/4646779/embedding-googlevis-chart-into-a-web-site –
リンクDWinをありがとう、しかし、私は本当にデフォルトの変数で何も見ることができないのですか? –