RInside와 콘솔을 사용하여 문제가 있습니다. 이것은 CRAN에서 apt-get을 통해 설치된 R 3.2.4를 사용하여 우분투 14.04에서 모두 실행됩니다. 프로그램이 실행될 때RInside를 통해 실행할 때 abline에 오류가 발생했습니다.
#include <RInside.h> // for the embedded R via RInside
int main(int argc, char *argv[]) {
RInside R(argc, argv); // create an embedded R instance
R.parseEval("source('abline.R')");
}
abline.R
bp <- data.frame(
age = c(28, 23, 52, 42, 27, 29, 43, 34, 40, 28),
systolic = c(70, 68, 90, 75, 68, 80, 78, 70, 80, 72))
str(bp)
attach(bp)
bp.lm <- lm(systolic ~ age)
plot(age, systolic)
abline(bp.lm)
lines(lowess(age, systolic, f=0.75), lty=2)
는 R 코드는 콘솔에서 잘 작동하지만 오류 다음은 C++ 및 R 코드입니다.
[email protected]:/tmp/abtest$ ./abtest
'data.frame': 10 obs. of 2 variables:
$ age : num 28 23 52 42 27 29 43 34 40 28
$ systolic: num 70 68 90 75 68 80 78 70 80 72
Error in if (noInt) { : argument is of length zero
terminate called after throwing an instance of 'std::runtime_error'
what(): Error evaluating: source('abline.R')
Aborted (core dumped)
if (noInt) {
는 (R 버전 내에서 라인 (18)) abline의 소스이다. 나는 이것이 RInside를 통해서만 일어나는 이유에 관해서 완전히 비틀어졌다.
아이디어가 있으십니까?
는'()'모든 악의 뿌리입니다 연결합니다. 'lm()'의'data ='인수를 사용하십시오. 그래프 출력 처리와 관련된 설정도 필요합니다. 그리고 마지막으로 이것은 Rcpp 질문이 아닙니다. 'Tis가 RInside라는 질문을 더 많이하므로 Rcpp 태그를 제거하고 있습니다. – coatless