C API to get numrow of data frame
I didn't look at the names because I believe that would be incorrect
if the row names were stored internally in the compact form.
See ?.set_row_names (hat tip, Tim Hesterberg who showed me this years ago) :
'row.names' can be stored internally in compact form.
'.set_row_names(n)' generates that form for automatic row names of
length 'n', to be assigned to 'attr(<a data frame>, "row.names")'.
'.row_names_info' gives information on the internal form of the
row names for a data frame: for details of what information see
the argument 'type'.
The function I wrote obviously doesn't work for 0 row or 0 column
data.frames, you need to check for that.
On Mon, Mar 31, 2014 at 6:12 PM, G?bor Cs?rdi <csardi.gabor at gmail.com> wrote:
I think it is actually better to check the length of the row names. In case the data frame has zero columns. (FIXME, of course.) Gabor On Mon, Mar 31, 2014 at 8:04 PM, Murray Stokely <murray at stokely.org> wrote:
The simplest case would be:
int num_rows = Rf_length(VECTOR_ELT(dataframe, 0));
int num_columns = Rf_length(dataframe);
There may be edge cases for which this doesn't work; would need to
look into how the dim primitive is implemented to be sure.
- Murray
On Mon, Mar 31, 2014 at 4:40 PM, Sandip Nandi <sannandi at umail.iu.edu>
wrote:
Hi ,
Is there any C API to the R API nrow of dataframe ?
x<- data.frame()
n<- nrow(x)
print(n)
0
Example :
My C function which deals with data frame looks like and I don't to send
the number of rows of data frame .I want to detect it from the function
itself, my function take data frame as argument and do some on it. I
want
API equivalent to nrow. I tried Rf_nrows,Rf_ncols . No much help.
SEXP writeRR(SEXP dataframe) {
}
Any help is very appreciated.
Thanks,
Sandip
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel