Displaying 3 results from an estimated 3 matches for "installattrib".
1998 Apr 02
1
attributes now inherited
..., ans);
+
UNPROTECT(2);
if (n1 < 1 || n2 < 1) {
**************************************************************************
*** attrib.c Mon Dec 8 02:36:53 1997
--- /net/aster/R/src/main/attrib.c Wed Apr 1 16:43:28 1998
***************
*** 114,119 ****
--- 114,141 ----
return installAttrib(vec, name, val);
}
+ SEXP copyMostAttrib(SEXP inp, SEXP ans)
+ {
+ /* This is called in the case of binary operations to copy most
+ attributes from (one of) the input arguments to the output.
+ Note that the Dim and Names attributes should have been assigned
+ elsewhere. */
+...
2007 Mar 07
3
Garbage collector crashes after calling a C function
...370== at 0x4C1F73A: RunGenCollect (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4C23E55: R_gc_internal (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4C22DC3: Rf_cons (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4C23AE1: Rf_allocList (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4B6926B: installAttrib (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4B69961: Rf_classgets (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4B68DC1: Rf_setAttrib (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4B69A40: do_classgets (in /usr/lib64/R/lib/libR.so)
==9370== by 0x4BE908E: Rf_eval (in /usr/lib64/R/lib/lib...
2014 Apr 02
0
special handling of row.names
...=0x61,ATT] [ASCII] [cached] "data.frame"
This happens in row_names_gets (attrib.c), here:
if(OK_compact) {
/* we hide the length in an impossible integer vector */
PROTECT(val = allocVector(INTSXP, 2));
INTEGER(val)[0] = NA_INTEGER;
INTEGER(val)[1] = n;
ans = installAttrib(vec, R_RowNamesSymbol, val);
UNPROTECT(1);
return ans;
}
I believe it should be INTEGER(val)[1] = -n; for consistency.
BTW, perhaps structure should be internalized to prevent special handling of row.names when it does not make sense. Here is structure:
structure
function (.Data,...