要約すると、私の質問は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()機能します。