Ошибка при компиляции кода RInside - PullRequest
2 голосов
/ 18 февраля 2011

Я хочу скомпилировать код R, используя RInside. Но я получаю ошибки при использовании функции read.csv. Фрагмент кода приведен ниже:

include "RInside.h"
include <iomanip>  
include <iostream>  
include <fstream>  
include <string>    
include <vector>   
include <sstream>    
using namespace std;

int main(int argc,char*argv[])
{   
 RInside R(argc,argv);  
 SEXP ans;  
 R.parseEvalQ("library(plotrix)");  
 R.parseEvalQ("fileContents<-read.csv("/home/nibha/manoj/test.csv")");  
 R.parseEvalQ("nr <-nrow (filecontents)");  
 R.parseEvalQ("nc <-ncol (filecontents)");  
}  

Я получаю следующие ошибки:

: In function ‘int main(int, char**)’:  
prog3.cpp:14: error: ‘home’ was not declared in this scope  
prog3.cpp:14: error: ‘nibha’ was not declared in this scope  
prog3.cpp:14: error: ‘manoj’ was not declared in this scope  
prog3.cpp:14: error: ‘test’ was not declared in this scope  
prog3.cpp:20: error: ‘myfile’ was not declared in this scope  

1 Ответ

1 голос
/ 18 февраля 2011

У вас двойная кавычка " внутри строки в двойных кавычках

R.parseEvalQ("fileContents<-read.csv("/home/nibha/manoj/test.csv")"); 

Итак, просто удалите его с обратной косой черты \ и попробуйте снова.

R.parseEvalQ("fileContents<-read.csv(\"/home/nibha/manoj/test.csv\")"); 
...