在select b.First_Name, b.Title, c.Project_ID
from HumanResources.Employees b
inner join ProjectDetails.TimeCards c on b.Employee_ID = c.Employee_ID
inner join ProjectDetails.Projects d on d.Project_ID=c.Project_ID
中,我将使用它来更新匹配条件条件的向量中的值:
R
如果我的a <- rep(seq(1:20),5)
a[a==5] <- 100
的NumericVector如何使用Rcpp
来做?
我是a
的新手,目前我唯一想到的方法是遍历Rcpp
中的每个值。我正在使用这个:
a
有没有没有循环或更少代码行的方法?
非常感谢任何帮助。
答案 0 :(得分:4)
对于像这样的标准算法,您可能会发现它已在标准库中实现:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector replace(NumericVector x) {
std::replace(x.begin(), x.end(), 5, 100);
return x;
}
/*** R
a <- rep(seq(1:20),5)
replace(a)
a
*/
请注意,如果输入a
已经是double
类型,它将被修改。