The comment I was going to reply to disappeared, but for something closer in form to the Matlab example that used to be here:
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!")
No need to `copy` from `d[:,3]`. Slicing already creates copies (so you're copying twice), but even if it made a view you could still just write `B = d[:, 3]`.
Ah, didn't realize slicing always made copies. A view/alias/whatever would have been fine for the example, but having multiple variable names referring to the same memory has caused me enough problems to try to avoid it by default.
Comments
The comment I was going to reply to disappeared, but for something closer in form to the Matlab example that used to be here:
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!")No need to `copy` from `d[:,3]`. Slicing already creates copies (so you're copying twice), but even if it made a view you could still just write `B = d[:, 3]`.
Ah, didn't realize slicing always made copies. A view/alias/whatever would have been fine for the example, but having multiple variable names referring to the same memory has caused me enough problems to try to avoid it by default.