要約すると、私の質問はfacet_grid
(1)group("|",A['i,j'],"|")
と(2)でラベルを作成する方法value
ですか?
(1) の場合、 を使用すると、なしexpression()
でのみ動作させることができます: value
plot_labeller <- function(variable,value){
print(value)
if (variable=='FOO') {
expr1 <- expression(group("|",A['i,j'],"|"))
return(expr1)
} else {
return("bla")
}
}
(2) については、 を表示しvalue
、 usingpaste()
はかなり単純な数学 expr に対してのみ機能します。例えば:
plot_labeller <- function(variable,value){
if (variable=='FOO') {
expr1 <- paste("alpha"," : ",value)
return(expr1)
} else {
return("bar")
}
}
ただし、(e: 関数 "グループ" が見つかりませんでした) では機能paste()
しません。group()
それがなくgroup()
ても機能しません: "A['i,j']" は "そのまま"、つまり を適用せずに表示されますplotmath
。次のように使用bquote()
します。
plot_labeller <- function(variable,value){
if (variable=='FOO') {
expr1 <- bquote(group("|",A['i,j'],"|") : .(value))
return(expr1)
} else {
return("bar")
}
}
どちらも機能しません:
Error in labels[, i] <- labeller(names(label_df)[i], label_df[, i]) :
number of items to replace is not a multiple of replacement length
ただし、引用符で囲まれた式を印刷することはtext()
機能します。