Bir R işlevinde, bu dosyada bulunan csv verilerini okumak ve işlemek için parametre olarak fileName
kullanılır. R'yi javascript ile tümleştirmek için rook
paketini kullandım. Javascript'te, içe aktarılan dosyanın dosya adını almak için aşağıdaki kodu kullandım. Çünkü bu yönteminRook paketini kullanarak javascript'ten dosya adını R'ye aktarma
<form id='importPfForm'>
<input type='file' name='datafile' size='20'>
<input type='button' value='IMPORT' onclick='importPortfolioFunction()'/>
</form>
function importPortfolioFunction(arg) {
var f = document.getElementById('importPfForm');
var fileName= f.datafile.value;
$.ajax({
type : "POST",
url : 'http://localhost:'+portNo+'/custom/Ralgotree/hBasedFileImport?fileName='+fileName,
dataType : "json",
data : '{ "method" : "hBasedFileImport", "clientId": "31d0c653-d7e5-44b6-98b5-8c084f99514a", "version": 0 }',
xhrFields: {
withCredentials: false
},
beforeSend : function(xhr) {},
success : function(data, textStatus, xmLHttpRequest){
},
error : function(xhr, ajaxOptions, thrownError) {
}
});
}
yerine tam dosya yolunu sadece dosya adını geçirir, ben alışkanlık R. çıkışı Peki modifikasyon i tam verim almak için yapmanız gereken olsun.
s <- Rhttpd$new()
s$add(
name="Ralgotree",
app=Rook::URLMap$new(
'/hBasedFileImport' = function(env){
req <- Rook::Request$new(env)
params <- Utils$parse_query(env$QUERY_STRING);
res <- Rook::Response$new(headers = list("Content-Type"="application/json" , "Access-Control-Allow-Origin"="*"))
res$write(toJSON(hBasedFileImport(toString(params["fileName"]))))
res$finish()
}
)
)
s$start(port = 9000)
hBasedFileImport <- function(fileName){
portData <- read.csv(fileName,sep="\t")
-----
-----
}