nico
nico

Reputation: 51640

Including variables in expression call in R

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

Upvotes: 1

Views: 2840

Answers (2)

Jonathan Chang
Jonathan Chang

Reputation: 25337

Use substitute:

> substitute(Phi[1] - i* Phi[2], list(i = i))
Phi[1] - 3 * Phi[2]

Upvotes: 7

NinjaCat
NinjaCat

Reputation: 10204

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.

Upvotes: 0

Related Questions