

R,C++ 共に初心者です。  
RcppでDataFrame内のベクターの型を判定する方法がわからずに躓いています。  
的外れなコードで申し訳ございませんがご指摘をお願いします。

【環境】  
Windows 10  
RStudio 1.044  
Rcpp 0.12.5

実験コード

[code]

    // [[Rcpp::export]]
    StringVector test(DataFrame df)
    {
      String s0 = typeid(df).name();
      String s1 = typeid(df[0]).name();
      String s2 = typeid(df[1]).name();
      String s3 = typeid(df[2]).name();
      String s4 = typeid(df[3]).name();
      String s5 = typeid(df[4]).name();
      String s6 = typeid(df[5]).name();
    
      // if(strstr(s1, "Date")) { ... }  型に合わせた処理をしたいが
      // if( ... ) { ...}                すべて同じ型名なので分岐できない
      //  :
    
      StringVector v = StringVector::create(s0,s1,s2,s3,s4,s5,s6);
    
      return v;
    }
    
    /*** R
    dd <- data.frame(
      date_    = c(Sys.Date()),
      time_    = c(Sys.time()),
      double_  = c(1.2),
      int_     = c(1),
      string_  = c("ABC"),
      logical_ = c(TRUE)
    )
    test(dd)
    */
    
    > test(dd)
    [1] "N4Rcpp14DataFrame_ImplINS_15PreserveStorageEEE"
    [2] "N4Rcpp8internal13generic_proxyILi19EEE"
    [3] "N4Rcpp8internal13generic_proxyILi19EEE"
    [4] "N4Rcpp8internal13generic_proxyILi19EEE"
    [5] "N4Rcpp8internal13generic_proxyILi19EEE"
    [6] "N4Rcpp8internal13generic_proxyILi19EEE"
    [7] "N4Rcpp8internal13generic_proxyILi19EEE"
    
[/code]


CC BY-SA 3.0
2016-11-17T23:15:46.697
30488
2016-11-18T00:20:03.023
2016-11-18T00:20:03.023
19605
19605
question
c++ r
RcppでDataFrameのベクターの型を判定する方法