To start the discussion, maybe one factor could be the lack of a package manager like npm/crate. What else?
(1) load a .txt file containing space-delimited columns of data;
(2) fit a linear model in which one column is predicted by a linear combination of the others;
(3) plot the predicted values again the actual values using dots and overlay a y=x line
Tried this with Julia a short while ago and basically gave up, couldn’t figure out how to get something to plot. Has the Julia-verse changed? Is it easier now?
I can do this in MATLAB in basically 3 or 4 lines of code. Python, not much more than that.
``` using GLM, CSV, Plots
data = CSV.read("data.csv", header=["x","y"], types=[Float64, Float64]) #returns dataframe
ols = lm(@formula(y ~ x), data)
ypred = predict(ols)
yall = Base.hcat(data.y, ypred)
plot(data.x, yall, linewidth=2, title="Linear regression", label=["y", "ypred"], xlabel="x", ylabel="y")
```
using Plots, DelimitedFiles
d = readdlm("data.tsv",'\t')
A = [ones(10,1) d[:,1:2]]; B = copy(d[:,3]); X = A\B
plot(B, seriestype=:scatter, color=:blue); plot!(A*X, seriestype=:scatter, color=:red)
I find Julia syntax feels closer to Matlab than to Python or R, just different enough to be frustrating for the first month or so (followed by a period of "oh, that's why Julia does it this way instead!")