1

I was wondering if it were possible to include variables when using expression in R.

For instance I would like to do something like this:

par(mfrow=c(2,3))
for (i in 1:6)
    {
    plot(x, p1-i*p2, main=expression(Phi[1] - i * Phi[2]))
    }

But this does not work, as it prints Φ1 - iΦ2 (i.e. it does not substitute i with 1, 2, ... 6

nico
  • 49,570
  • 17
  • 85
  • 112

2 Answers2

7

Use substitute:

> substitute(Phi[1] - i* Phi[2], list(i = i))
Phi[1] - 3 * Phi[2]
Jonathan Chang
  • 23,177
  • 5
  • 32
  • 33
0

Looks like it uses the variables. I set x = 1 and used the following.

> p1 = 100
> p2 = 10
> for (i in 1:6)
+     {
+     plot(x, p1-i*p2, main=expression(Phi[1] - i * Phi[2]))
+     }
> 

It gave me 6 graphs for Φ1 - iΦ2 with each showing the Y value descending.

NinjaCat
  • 9,701
  • 9
  • 43
  • 63