간단한 Rcpp 코드 예제를 작성하려고합니다. 이것은 Rcpp
및 inline
패키지를 사용하면 매우 쉽습니다.Rcpp :: CharacterVector 요소가 동일한 지 테스트하는 방법은 무엇입니까?
하지만 두 문자 요소가 동일한 지 여부를 테스트하는 방법에 난처한 생각이납니다. 다음 예제에서는 두 문자 벡터의 첫 번째 요소를 비교합니다. 하지만 컴파일 할 수는 없습니다.
트릭이란 무엇입니까?
library(Rcpp)
library(inline)
cCode <- '
Rcpp::CharacterVector cx(x);
Rcpp::CharacterVector cy(y);
Rcpp::LogicalVector r(1);
r[0] = (cx[0] == cy[0]);
return(r);
'
cCharCompare <- cxxfunction(signature(x="character", y="character"),
plugin="Rcpp", body=cCode)
cCharCompare("a", "b")
-
두 요소 중 하나가 일정하면 완벽하게 정상적으로 ==
작품을 사용하여 비교. 다음 코드는 컴파일 준다 예상 결과 :
cCode <- '
Rcpp::CharacterVector cx(x);
Rcpp::LogicalVector r(1);
r[0] = (cx[0] == "a");
return(r);
'
cCharCompareA <- cxxfunction(signature(x="character"), plugin="Rcpp", body=cCode)
cCharCompareA("a")
[1] TRUE
cCharCompareA("b")
[1] FALSE
어디'시험이다 구현은
string_proxy
클래스에서 다음과 같습니다 '정의 되었습니까? – James왜 cxxfunction을 사용하여 설정하기 전에 NULL로 설정 했습니까? – Spacedman
@James 사과 -'cx [0] == cy [0]'- 편집해야합니다. – Andrie