Управление памятью и класс S4 в Rcpp

Предположим, у меня есть класс S4 A который содержит слот @S который является data.frame, data.frame имеет колонку X, Я хочу обработать такой объект в C ++, используя Rcpp, Вот игрушечный пример того, как я это сделал:

SEXP f(S4 A)
{
DataFrame S = A.slot("S");
NumericVector X = S["X"];

// do something with X
}

Мои вопросы следующие.

  • Есть ли X все еще ссылка на оригинальные данные R или глубокая копия? Учитывая, как работает Rcpp, это не должно быть копией. Но как я могу быть уверен?

  • Этот код компилируется и работает хорошо, но IDE (Rstudio не компилятор) выдает предупреждение: conversion from 'Rcpp::SlotProxyPolicy< Rcppp::S4_Impl<PreserveStorage >::SlotProxy' to 'DataFrame' (aka 'DataFrame_Impl< PreserveStorage >') is ambigous.Что это значит? Это серьезно?

Спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]