<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="country-region"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-AU link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I hope I don&#8217;t make too many naïve statements and
assumptions in this post. Essentially what ive done is expose a C++ class to R
using Rcpp modules. Within my C++ code I create an object of this class and
pass it back to R, where its placed in a list. I then, at a later stage within
R, want to get access to the elements in this list, whereupon I get the error
message &#8220;$ operator is invalid for atomic vectors&#8221;. I&#8217;m
running R2.12.1 and presumably the latest versions of the relevant packages,
Rcpp, and inline.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In more detail, the following code in R creates an element
in the list, in a function that is called by &#8216;lapply&#8217;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>tape  <b><span style='font-weight:bold'>&lt;-</span></b>
new(adFun)</span></font><font size=2 face="Courier New"><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>tape</span></font><font size=2 color="#3f5f5f" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5F5F'>$</span></font><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:black'>CreateTape(coefs, Datas)</span></font><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>tape</span></font><font
size=2 color="#3f5f5f" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5F5F'>$</span></font><font size=2
color=black face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>ForwardR(coefs)</span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>result <b><span style='font-weight:bold'>&lt;-</span></b> tape</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>return(result)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>which returns to a function&#8217;, and
the end result is a list  (Nllh.Check), within a function, created by <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>Nllh.Check  <b><span style='font-weight:bold'>&lt;&lt;-</span></b>
CheckGEVFit(AllData, NCovarsW, NCovarsWgev, npmu, npsc, npsh, Order, Theta.24,
Ccoefs, </span></font><font size=2 face="Courier New"><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>                              Nmodel,
shlink = SHLINK, Which = WhichMH, adFun)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Because of the &#8220;&lt;&lt;-&#8220;, I
actually have saved Nllh.Check, and I can look at that from the R prompt,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>&gt;
str(Nllh.Check)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>List of 580<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> $ :Formal class
'Rcpp_adFun' [package &quot;.GlobalEnv&quot;] with 1 slots<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>  .. ..@
.xData:&lt;environment: 07c7bac8&gt; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> $ :Formal class
'Rcpp_adFun' [package &quot;.GlobalEnv&quot;] with 1 slots<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>  .. ..@
.xData:&lt;environment: 087055e8&gt; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> $ :Formal class
'Rcpp_adFun' [package &quot;.GlobalEnv&quot;] with 1 slots<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>  .. ..@
.xData:&lt;environment: 086a236c&gt;   etc<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>And<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>&gt;
Nllh.Check[[1]]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>C++ object
&lt;013CBD38&gt; of class 'adFun' &lt;01689C50&gt;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Or calling one of the functions of the
C++ class<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>&gt;
Nllh.Check[[400]]$TapeProperties()<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Summary of tape <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Domain dimension
6<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Range dimension
1<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>0-th component
of range space corresponds to a parameter in the operation sequence 0<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Number of
variables in operation sequence + phantom 6754<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Number of
parameters in operation sequence  135<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Number of
operations 5429<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Total number of
operator arguments in operator sequence 10314<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Total characters
used in PrintFor 0<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Number of VecAD
vectors 0<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Amount of memory
required to store the operation sequence 64052<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Which to me indicates that this object is
ok, the list ive constructed is what I think it should be etc.  However if I try
to do something within the function that created the list  like<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>Nllh.Check  <b><span style='font-weight:bold'>&lt;&lt;-</span></b>
CheckGEVFit(AllData, NCovarsW, NCovarsWgev, npmu, npsc, npsh, Order, Theta.24,
Ccoefs, </span></font><font size=2 face="Courier New"><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>                              Nmodel, shlink = SHLINK, Which =
WhichMH, adFun)</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Nllh.Check</span></font><font
size=2 color="#3f5f5f" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5F5F'>[[</span></font><font size=2
color="#00007f" face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:#00007F'>400</span></font><font size=2 color="#3f5f5f"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#3F5F5F'>]]$</span></font><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>TapeProperties()<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>I get the error message<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>Error in
Nllh.Check[[400]]$TapeProperties : <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>  $ operator is
invalid for atomic vectors<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>So, to me the question is, is what I am
trying to do possible, or am I going about it the wrong way, or lastly is it a
bug?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>I hope this is enough detail, and
apologise if its not. Its not easy to produce a small illustrative example,
because the above relies on an external C++ package .<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Thanks<o:p></o:p></span></font></p>

<div>

<p><b><font size=2 color="#0099cc" face=Arial><span style='font-size:10.0pt;
font-family:Arial;color:#0099CC;font-weight:bold'>Mark Palmer</span></font></b><font
size=1 face=Arial><span style='font-size:9.0pt;font-family:Arial'><br>
Senior Statistician&nbsp;<br>
CSIRO Mathematics, Informatics and Statistics<o:p></o:p></span></font></p>

<p><font size=1 face=Arial><span style='font-size:9.0pt;font-family:Arial'>Phone:
+61&nbsp;8 9333 6293<b><font color="#bed600"><span style='color:#BED600;
font-weight:bold'>&nbsp;| </span></font></b>Fax: +61&nbsp;8 9333 6121&nbsp;<b><font
color="#bed600"><span style='color:#BED600;font-weight:bold'>|</span></font></b>&nbsp;Mobile:
0427502353 <br>
<font color="#0099cc"><span style='color:#0099CC'><a
href="mailto:Mark.Palmer@csiro.au">Mark.Palmer@csiro.au</a></span></font> <b><font
color="#bed600"><span style='color:#BED600;font-weight:bold'>|</span></font></b>
<font color="#0099cc"><span style='color:#0099CC'>www.csiro.au</span></font> <b><font
color="#bed600"><span style='color:#BED600;font-weight:bold'>|</span></font></b>
<font color="#0099cc"><span style='color:#0099CC'><a
href="http://www.csiro.au/cmis">www.csiro.au/cmis</a></span></font><br>
Address: <font color="#999999"><span style='color:#999999'>Private bag 5, <st1:City
w:st="on">Wembley</st1:City>, <st1:State w:st="on">WA</st1:State> 6913, <st1:country-region
w:st="on"><st1:place w:st="on">Australia</st1:place></st1:country-region></span></font><o:p></o:p></span></font></p>

<p><b><font size=1 face=Arial><span style='font-size:9.0pt;font-family:Arial;
font-weight:bold'>PLEASE NOTE</span></font></b><font size=1 face=Arial><span
style='font-size:9.0pt;font-family:Arial'><br>
The information contained in this email may be confidential or privileged. Any unauthorised
use or disclosure is prohibited. If you have received this email in error,
please delete it immediately and notify&nbsp;the sender by return email. Thank
you. To the extent permitted by law, CSIRO does not represent, warrant and/or
guarantee that the integrity of this communication has been maintained or that
the communication is free of errors, virus, interception or interference. <o:p></o:p></span></font></p>

<p><b><font size=1 color="#666666" face=Arial><span style='font-size:9.0pt;
font-family:Arial;color:#666666;font-weight:bold'>Please consider the
environment before printing this email.</span></font></b><b><font size=1
color="#666666" face=Arial><span style='font-size:9.0pt;font-family:Arial;
color:#666666;font-weight:bold'><o:p></o:p></span></font></b></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>