R files with Jupyter lab - jupyter-notebook

I have just started to run the R kernel with Jupyter lab. How can I can import existing .R files into a jupyter notebook.
Also I can I save a .jpynb notebook back to .R if needed?
Rgs
CCR

I suppose a source("filename.R") function could help.
Following R Documentation it
"..causes R to accept its input from the named file or URL or connection or expressions directly. Input is read and parsed from that file until the end of the file is reached, then the parsed expressions are evaluated sequentially in the chosen environment".
Applying some parameters like echo, keep.source, local etc. to the function also seems useful.
Good luck!
P.S. I have no idea yet how to save .ipynb back to .R files

Related

How to "source" (not run line by line) an R script from the Windows command line

I am creating an R script myscript.R which manipulates an excel file by means of XLConnectpackage.
The point is it refers to several external files: the excel file itself and another R file (functions library), so I need to set a working directory in the location of the script (so that relative paths to external files work properly).
I am using the following in my script
new_wd <- dirname(sys.frame(1)$ofile)
setwd(new_wd)
When I source the script from my RStudio it gets the job done. The problem is that the script is to be used by non-programmers, non-Rstutio-users, so I create .bat file (which I want to turn into an .exe one)
"C:\Program Files\R\R-4.0.3\bin\Rscript.exe" "C:\my\path\to\myscript.R"
It executes the script line by line but sys.frame(1) only works when sourcing.
How could I solve it?
Thanx
I have found a solution and it works properly.
From CMD command line or from a .bat file one can add an argument -e to the command, so that you can use a R language.
absolute\path\to\Rscript.exe -e "source('"relative\path\to\myscript.R"')"
It worked for me.
Besides, as Compo commented, I think there's no need for a .exe file, since a .bat does the job.

Unable to load data file in Julia

There is a CSV file called orders_data stored in my system, but when I try to load this file in Julia using readdlm command in Jupyter Notebook(running in my browser), it says "NO SUCH FILE DIRECTORY FOUND"
I'm not sure why does this happen? is there a specific location where the files need to be stored to be accessed using Julia command? is it that I need to install some packages first to load the file using browser version of jupyter?
//Error information
SystemError: opening file orders_data.csv: No such file or directory
Your working directory is set to your current location when you start a Julia session. You can see what it is by calling the pwd() function. You can change it by calling the cd() function. Unless you specify otherwise, or provide a more complete pathname, Julia looks for files in your current working directory (although it's different for modules).

How to create .jl file in IJulia

I am very new to julia. I have just installed ipython and Ijulia. But every time I saved my file from ipython notebook, the format of the saved file is always .ipynb. I don't know if I can saved my file as .jl file. Or could anyone tell me how to create .jl file through ipython notebook. I have googled but seems like no one talks about it.
.ipynb is the JSON-based Jupyter notebook format, with conventions for storing code cells and associated metadata and data (such as inline images). Jupyter is designed as a fully-integrated interactive environment, not "just" a text editor, and as such the file format requires extra information. To create a .jl file, use a text editor or an ide such as Juno.

Command Line to Open .py with IPython

I would like to use the great IPython Web Interface to open, evaluate, edit and save the following "myfile.py" (see below) avoiding the annoying process: Create an .ipynb > import myfile.py to it > make some evaluation or edition > export to .py > remove unnecessary code lines and finaly get again the following content (myfile.py):
import os
# <codecell>
# Number division
print(4/5)
# Number Plus
print(1+40)
Is there a command line to do so?
Notes:
I want work ONLY with .py files, any solution with store/work with .ipynb (JSON files) not be welcome.
Suggestions for other programs will be very welcome.
On stable version, use the --script flag, it always save .py file wihthout having to go through the export process. Still it also save the .ipynb file along side.
On dev version there are now pre-save hook that allows you to do whatever you want for saving .
To automatically load .py files, you will have to write your own Notebook File Loader backend that accept .py files.

R workspaces i.e. .R files

How do I start a new .R file default in a new session for new objects in that session?
Workspaces are .RData files, not .R files. .R files are source files, i.e. text files containing code.
It's a bit tricky. If you saved the workspace, then R saves two files in the current working directory : an .RData file with the objects and a .RHistory file with the history of commands. In earlier versions of R, this was saved in the R directory itself. With my version 2.11.1, it uses the desktop.
If you start up your R and it says : "[Previously saved workspace restored]", then it loaded the file ".RData" and ".RHistory" from the default working directory. You find that one by the command
getwd()
If it's not a desktop or so, then you can use
dir()
to see what's inside. For me that doesn't work, as I only have the file "desktop.ini" there (thank you, bloody Windoze).
Now there are 2 options : you manually rename the workspace, or use the command:
save.image(file="filename.RData")
to save the workspaces before you exit. Alternatively, you can set those options in the file Rprofile.site. This is a text file containing the code R has to run at startup. The file resides in the subdirectory /etc of your R directory. You can add to the bottom of the file something like :
fn <- paste("Wspace",Sys.Date(),sep="")
nfiles <- length(grep(paste(fn,".*.RData",sep=""),dir()))
fn <- paste(fn,"_",nfiles+1,".RData",sep="")
options(save.image.defaults=list(file=fn))
Beware: this doesn't do a thing if you save the workspace by clicking "yes" on the message box. You have to use the command
save.image()
right before you close your R-session. If you click "yes", it will still save the workspace as ".RData", so you'll have to rename it again.
I believe that you can save your current workspace using save.image(), which will default to the name ".RData". You can load a workspace simply using load().
If you're loading a pre-existing workspace and you don't want that to happen, rename or delete the .RData file in the current working directory.
If you want to have different projects with different workspaces, the easiest thing to do is create multiple directories.
There is no connection between sessions, objects and controlling files .R. In short: no need to.
You may enjoy walking through the worked example at the end of the Introduction to R - A Sample Session.
Fire up R in your preferred environment and execute the commands one-by-one.

Resources