使用希腊字母和动态下标

时间:2013-11-24 01:57:48

标签: r plot expression

我需要在rplot主标题中使用带有动态下标的希腊字母。如果我使用表达式和粘贴,就像我在下面的代码中的'main'语句中所做的那样,那么下标的值不会显示为数字而是显示为字母。我只能使用paste来获取下标的值,请参阅下面代码中的'sub'语句,但在这种情况下,希腊字母不会出现!!

任何想法..

由于

#  Generating Random Variables

#  Exponential(1)

inv.cdf=function(n, lambda){
  u=runif(n,0,1)
  x=-log(1-u)/lambda
}


nu=sample(1:15,6)
y=matrix(rep(NA),10000,length(nu))
for(j in 1:length(nu)){
for (i in 1:10000){
  y[i,j]=2*sum(inv.cdf(nu[j], 1))
}
}

par(mfrow = c(3, 2))
for(j in 1:6){
hist(y[,j], freq=F, main=expression(paste('Histogram of Generated ',chi[2*nu[j]], ' Data')), sub= paste('Degrees of Freedom = ', nu[j]), xlab=expression(paste('Generated ' ,chi^2 ,' Data')))
curve(dchisq(x, df=2*nu[j]),add=T, col=2, lwd=2)
}

1 个答案:

答案 0 :(得分:4)

我认为您正在寻找substitute,它允许您使用您喜欢的任何值替换表达式(在您的情况下为j)中的某个值。所以,如果你使用它:

main=substitute(
        expression(paste('Histogram of Generated ',chi[2*nu[j]], ' Data')),
        list(j=j)
      )

hist函数中,它可以正常工作。