Boole'lerin bir R vektörünü bir C++ dynamic_bitset
vektörüne iletmenin en iyi yolu nedir? Vektör sınıfı için mümkün olabileceği gibi bir dynamic_bitset
nesnesi oluşturmak için bir işaretçi ve vektör uzunluğunun kullanılması için bir yol var mı? Rcpp'yi kullanmanızı tavsiye eder misiniz? Sadece bu gibi dynamic_bitset
yaratacakBoolean R vektörünü C dynamic_bitset'e geçirme
5
A
cevap
2
Yardımlarınız ve zaman için
Teşekkürler ...:
#include <Rcpp.h>
#include <boost/dynamic_bitset.hpp>
using namespace Rcpp ;
// [[Rcpp::export]]
void create_dynamic_bitset(LogicalVector x){
int n = x.size() ;
boost::dynamic_bitset<> bs(n);
for(int i=0; i<n; i++) bs[i] = x[i] ;
// do something with the bitset
for (boost::dynamic_bitset<>::size_type i = 0; i < x.size(); ++i)
Rcout << x[i];
Rcout << "\n";
}
Dahili olarak, R mantıksal vektörler sadece int
dizilerdir. Dolayısıyla, dynamic_bitset
'u oluşturmanın daha doğrudan bir yolu yoktur, , yinelemek için. Ayrıca, LogicalVector
numaralı girişinizdeki eksik değerleri de kaçırmayın.
Alternatif olarak, bir ham vektör (Rcpp sınıfı RawVector
) halinde depolanan giriş verileri bir dynamic_bitset<Rbyte>
kullanımı ve blok kurucu kullanabilir:
void create_dynamic_bitset(RawVector x){
boost::dynamic_bitset<Rbyte> bs(x.begin(), x.end());
}
İlgili konular
- 1. R - Tarihin bir vektörünü nasıl bildiririm? Örneğin
- 2. C++ Boolean değerlendirmesi
- 3. C++ dizelerinin bir vektörünü nasıl yinelemeli?
- 4. C# veriyi MySQL'e geçirme
- 5. Std :: vektörünü diziye dönüştür.
- 6. C++ std :: string to boolean
- 7. R Rastgele Orman ele geçirme Posixct Değerler
- 8. Boolean değerini değiştiren Boolean
- 9. R - Dizilimi
- 10. C++ çift işaretçisini python'a geçirme
- 11. C++ Dizilime göre dizgeyi geçirme
- 12. Amaç-C parametreleri olarak geçirme
- 13. C#: Bir Genel Nesneyi Geçirme
- 14. Boolean
- 15. Satır vektörünü matplotlib
- 16. JSON boolean
- 17. C# LINQ ve Nullable kullanarak Boolean
- 18. const dize artı boolean Ben C
- 19. Bir C++ vektörünü filtrelemek veya "grep" etmek nasıl?
- 20. Bir std :: vektörünü C++ sınıf kurucusunda nasıl başlatıyoruz?
- 21. Bir STL vektörünün içindeki bir C++ STL vektörünü bulmak için
- 22. , vektörün bir vektörünü başlatıyor <doubles> C++
- 23. C++ Bir sınıf vektörünü algoritmayı kullanarak filtrelemek için
- 24. C++ 11 kullanarak işlev sonuçlarının bir const vektörünü nasıl başlatırsınız?
- 25. .NET/C# çağrısı R
- 26. C# - R arayüzü
- 27. Python listesini Boost.python kullanarak C++ vektörüne geçirme
- 28. stdio akışını başka bir işleve geçirme C++
- 29. Android'de C koduna bir dize geçirme NDK
- 30. COM nesnelerini C# dizisi VB6'ya geçirme
güzel ve +1. Ben bir Rcpp :: export' özniteliğini fırlattım, bu yüzden aslında R :) –
dan callable olduğunu Ben başlangıçta 'BH'but kullanmayı denedim görünüşe göre' dynamic_bitset 'dahil değildir, bu yüzden hiçbir vitrin 'Rcpp :: bağlıdır (BH) ' –
Dün paketi düzelttik ... ama hala kayıp. Siz de BH'nin bir yazarı sizsiniz, bu yüzden orada isterseniz paket oluşturma senaryosunu değiştirebilirsiniz. –