Hi R-users,
 
I would like to transform my data using gamma, my data are ahll, bhall and dp1 as shown below:
 
> ahall
     ah1  ah2  ah3  ah4  ah5  ah6  ah7  ah8  ah9 ah10 ah11 ah12
[1,] 0.9 1.01 1.24 1.85 1.85 2.45 3.67 3.02 3.06 2.33 1.86 0.96
 
> bhall 
       bh1   bh2   bh3   bh4  bh5   bh6   bh7   bh8   bh9  bh10  bh11  bh12
[1,] 48.39 44.26 37.34 29.93 33.5 26.54 20.26 25.73 20.14 31.57 27.38 50.32
 
> dp1
         d1    d2    d3    d4    d5    d6    d7    d8    d9   d10   d11   d12
 [1,]  49.7 141.6 119.7  27.2  56.0  58.1  59.2  22.8  28.0  69.9   5.3   3.3
 [2,]  21.8  32.3  30.0  44.5  37.7  49.3  29.0  49.6  79.2  28.8  26.5  44.2
 [3,]   5.6   3.3   6.3  33.7  56.1  37.9  54.7  77.9  24.9  98.6  42.5 157.5
 [4,]  24.2  28.5 175.5  73.2 153.7 201.4  62.9  67.6  36.7  47.8  87.1   1.0
 [5,]   0.8  55.1  66.3  98.2  16.7  99.0  54.1  91.2  34.5  45.7  33.3  22.1
….
[55,]  43.0   0.0 131.0  31.6  55.8  31.8  17.0  10.0  45.4   9.2   2.8  21.8
[56,]   1.4  43.4  52.4  72.2 126.8  66.8 101.6 144.2  82.2  85.0  37.4  55.4
[57,] 167.4 194.0  17.4  38.0   9.2  11.6 110.2 126.4  68.8  74.0   9.2  18.2
[58,]  11.4   8.2  46.6  49.6  84.2  68.2  48.6 160.6  31.6  94.8  62.6  67.6
 
I try to write this code and try run it but got error message:
 
trans_dt <- function(dt,a,b)
{ trans  <- vector(length=12, mode="numeric")
  n <- ncol(dt)
  for (i in 1:n)
  {  trans[i] <- transform(dt[,i],newdt=pgamma(dt[,i],shape= a[1,i],scale=b[1,i])) }
  trans
}
 
> trans_dt(dp1,ahall,bhall)
Error in pgamma(dt[, i], shape = a[1, i], scale = b[1, i]) : 
  object "i" not found

 
Here are the output that I want:
 
   X_data      newdt
1    49.7 0.68457469
2    21.8 0.41338124
3     5.6 0.14140426
4    24.2 0.44446935
5     0.8 0.02570607
6    32.0 0.53374025
7    88.9 0.86499757
…
 
Thank you so much for any help given.


      
	[[alternative HTML version deleted]]


