Hi, I use rpy on linux to call R functions. Works fine up to the following problem: How to parse arrays (no vectors, that means 2-dimensional) to R without much effort?
The following code solves the problem (in two different ways). However, it seems to me that there might be a way to do it more efficiently. rpy.r.assign("N", N) rpy.r("A2 <- array(1:N^2, dim=c(N,N))") rpy.r("A3 <- array(1:N^2, dim=c(N,N))") for i in range(N): # two alternative ways to parse arrays rpy.r.assign("Wi", W[i]) rpy.r.assign("i", i+1) rpy.r("""for( j in 1:N ){ A2[i,j] <- Wi[j]}""") for k in range(N): rpy.r.assign("k", k+1) rpy.r("A3[i,k] <- Wi[k]") print rpy.r("A3") print rpy.r("A2") As I see it, the problem is, that the 'assign' command works only either for scalars or vectors (one-dimensional arrays but not more- dimensional arrays). I tried it for 2-dimensional arrays and the result is a list whose components are vectors. Again, this is easy to convert to a two-dimensional array but the point here is that one has to do it. Maybe there are people using R with python who have some more experience. I would be interested how they solved this problem. Thanks! Frank -- http://mail.python.org/mailman/listinfo/python-list