<html>
<tt>I'm trying to convert over some S-plus code to R, and am having
problems where it uses a matrix of lists.<br><br>
Here's some code that works as expected in S-plus:<br><br>
&gt; x &lt;- vector(&quot;list&quot;,6)<br>
&gt; dim(x) &lt;- c(2,3)<br>
&gt; x[1,2] &lt;- list(letters[10:11])<br>
&gt; x<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[,1]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[,2]&nbsp;&nbsp;&nbsp; [,3] <br>
[1,] NULL, 0 character, 2 NULL, 0<br>
[2,] NULL, 0 NULL, 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL, 0<br>
&gt; x[1,2]<br>
[[1]]:<br>
[1] &quot;j&quot; &quot;k&quot;<br><br>
&gt; x[3]<br>
[[1]]:<br>
[1] &quot;j&quot; &quot;k&quot;<br><br>
&gt; x[[3]]<br>
[1] &quot;j&quot; &quot;k&quot;<br>
&gt; <br><br>
The same commands in R do not produce the desired results (the assignment
of element 1,2 does not work, I can assign in a different way, but then
different types of indexing produce different results):<br>
&gt; x &lt;- vector(&quot;list&quot;,6)<br>
&gt; dim(x) &lt;- c(2,3)<br>
&gt; x[1,2] &lt;- list(letters[10:11])&nbsp;&nbsp;&nbsp;&nbsp; # Can't
assign using array indexing<br>
Error: incompatible types in subset assignment<br>
&gt; x[[3]] &lt;-
letters[10:11]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# I can assign to the desired element<br>
&gt; x<br>
&nbsp;&nbsp;&nbsp;&nbsp; [,1]&nbsp;&nbsp;
[,2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[,3]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # and it seems to produce the
matrix I want<br>
[1,] &quot;NULL&quot; &quot;Character,2&quot; &quot;NULL&quot;<br>
[2,] &quot;NULL&quot;
&quot;NULL&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;NULL&quot;<br>
&gt;
x[1,2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# but I get a different element by array indexing!<br>
[[1]]<br>
NULL<br><br>
&gt;
x[[3]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# the element is there for list or vector indexing!<br>
[1] &quot;j&quot; &quot;k&quot;<br>
&gt; x[3]<br>
[[1]]<br>
[1] &quot;j&quot; &quot;k&quot;<br><br>
&gt; <br><br>
My original way of creating the matrix of NULL's does not work in R
either:<br>
&gt; matrix(vector(&quot;list&quot;, 6), nrow=2)<br>
Error in matrix(vector(&quot;list&quot;, 6), nrow = 2) : <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unimplemented feature in
copyVector<br>
&gt;<br><br>
Is there anything I can do to make a matrix of lists work in R?<br><br>
thanks,<br><br>
Tony Plate<br>
</html>