这对很多人来说只是一个非常基础的知识,但这是我第一次使用Rccp包。我想使用Rccp将数据帧中的列传递给函数,我可以操作列中的数据。谢谢。
library(Rcpp)
df <- data.frame(Temp = c(25, 25, 85, 85, 125, 125, 125), Val =c(1.03, 1.06, 1.56,1.75,2, 1.85, 1.90), type=c(2,2,2,2,2,2,2))
arr<- df$Val
last <- length(arr)
cppFunction('int index(int arr[], int low, int high){
int max = arr[low];
int i;
for (i = low; i <= high; i++)
{
if (arr[i] > max)
max = arr[i];
}
return i;
}')
ind <- index(0,last-1,arr)
答案 0 :(得分:3)
请查看,例如在
上述软件包中最简单的例子就是:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
List DataFrameExample(const DataFrame & DF) {
// access each column by name
IntegerVector a = DF["a"];
CharacterVector b = DF["b"];
DateVector c = DF["c"];
// do something
a[2] = 42;
b[1] = "foo";
c[0] = c[0] + 7; // move up a week
// create a new data frame
DataFrame NDF = DataFrame::create(Named("a")=a,
Named("b")=b,
Named("c")=c);
// and return old and new in list
return List::create(Named("origDataFrame") = DF,
Named("newDataFrame") = NDF);
}