2013-08-01 3 views
0

Я пишу программу Java, которая использует Rserve, чтобы получить результаты обратно из R.Возвращенные имени: значение пара из R

Мне нужно вычислить частоты элементов в массиве. Например,

array = [A, A, B, C] 

мне нужно R вернуть

A 2 
B 1 
C 1 

Но когда я использовал

Rconnection c = new Rconnection(); 
double [] freq = c.eval(table(x)).asDoubles; 
System.out.println(Arrays.toString(freq)); 

Я получил

[2 1 1] 

который не является именем: пары значений , Как мне это получить?

Большое спасибо !!!!!!!!

ответ

0

Вы устанавливаете массив типа double на выход, а массивы не имеют структуры ключа: значения. Попробуйте взглянуть на структуру данных Java HashMap - которая имеет структуру ключа: значение.

http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html

Если ключ: значение структура не является абсолютно необходимым, вы могли бы также попытаться использовать два разных массива, один из которых держит «ключи» и тот, который держит «ценности».

Возможно, вы можете установить другой массив типа String, который удерживает rownames вашего стола (х), что-то вроде следующего:

String [] key = c.eval(rownames(table(x))); 
Смежные вопросы