Hay una manera "simple" de hacer esto y una manera algo más difícil de hacer esto. Soy un hombre sencillo por lo que me inclino hacia la solución simple:
myCommand <- paste("/path/to/java", argument1, argument2, sep=" ")
system(shQuote(myCommand))
Entonces leído en el archivo de salida utilizando cualquier función R tiene sentido.
La solución más difícil es editar el código de Java para que no se lea de stdin, pero se pasa un vector u otro objeto de Java. Realmente no puedo generalizar acerca de cómo modificar el código de Java, pero si la función de Java necesita en última instancia, para ser alimentado un vector, usted lo haría algo como esto:
.jinit()
v <- .jnew("java/util/Vector")
rVector <- as.character(1:10)
addToV <- function(item){
v$add(item)
}
sapply(rVector, addToV)
siempre encuentro frente a los tipos de rJava es un dolor considerable, como puedes ver arriba.
Un consejo que le ahorrará un tiempo considerable es el siguiente: Cuando tiene un objeto Java creado en rJava, puede averiguar sus métodos escribiendo el nombre, un signo de dólar y luego presionando la tecla tab. Así, utilizando la v objeto creado por encima de tipo "V $" y usted debe conseguir esto:
1> v$
v$add( v$hashCode() v$contains( v$size() v$elementAt( v$capacity() v$containsAll( v$firstElement() v$removeElement( v$iterator() v$wait()
v$get( v$clone() v$isEmpty() v$toArray() v$remove( v$ensureCapacity( v$removeAll( v$insertElementAt( v$removeElementAt( v$listIterator() v$getClass()
v$equals( v$indexOf( v$lastIndexOf( v$toArray( v$elements() v$trimToSize() v$retainAll( v$lastElement() v$setElementAt( v$listIterator( v$notify()
v$toString() v$clear() v$addAll( v$addElement( v$set( v$subList( v$copyInto( v$removeAllElements() v$setSize( v$wait( v$notifyAll()
1> v$
Buena suerte, y estar seguro y gritar si tiene inconvenientes específicos.
Hola Andrew: la página de rJava en CRAN enumera varias docenas de paquetes que la usan.¿Tal vez puedas golpear con un palo a esos para ver cómo hacen las cosas? –
@JDLong tiene un buen ejemplo de cálculo de la radiación solar en la superficie de la Tierra. Tal vez él puede ingresar y señalar el código fuente (tal vez buscar "cmasticación" en github. –