[R] Table Construction from calculations

Seth Imhoff sdimhoff at wisc.edu
Sat Mar 10 03:23:21 CET 2007


Hi-

I am trying to create a table of values by adding  pairs of vectors, but 
am running into some problems.  The problem is best expressed by a 
simple example.

Starting with a data table "basis":
  atom   x   y   z
1   Cu 0.0 0.0 0.0
2   Cu 0.5 0.5 0.5

I want to add 0.5 0.5 0.5  (and also the 0 0 0 but it wouldn't change 
the values below so I won't refer to it in the rest of the example) to a 
list of vectors in the form of:
 > latpoints
   V1 V2 V3
1   0  0  0
2   0  0  1
3   0  0  2
4   0  0  3
5   0  1  1

so that I end up with a table such as:
V1  V2  V3
0.5 0.5 0.5
0.5 0.5 1.5
0.5 0.5 2.5
0.5 0.5 3.5
0.5 1.5 1.5

I've tried many variations on the following: (not just cat, but most of 
the data/data.table options)

 test = for(i in 1:5) {cat(basis[1,2:4] + latticemultipliers[i,], 
append=TRUE)}

However, I either end up with an error telling me that cat doesn't 
handle "type 'list' " or with a table with length of 1 such as:
     x    y    z
2  0.5 1.5 1.5

Which is simply the last value that the loop calculates.

Does anyone know what function handles lists of the form I am using, or 
have a better suggestion on how to get the form that I want.

Thanks in advance,
Seth Imhoff



More information about the R-help mailing list