Standard deviation for float array JuliaLang
Andrew Mclaughlin
I'm trying to run std(list), where list is a Float array but I receive the next error:
"MethodError: objects of type Array{Float64,1} are not callable Use square brackets [] for indexing an Array."
And when using []:
"ArgumentError: invalid index: 0.4"
Which is the first value of my array.
I'm guessing "std()" is not valid while using float arguments, anyway to make it work??
(Right now I'm using juliabox 0.6.2)
31 Answer
This worked for me in JuliaBox 0.6.2:
VERSION
v"0.6.2"
A = [1 2 3 4 5]
1×5 Array{Int64,2}: 1 2 3 4 5
s = std(A)
1.5811388300841898As pointed out by Hckr in the comments, you may have shadowed std something like this:
std = [1 2 3 4 5]
1×5 Array{Int64,2}: 1 2 3 4 5
std(std)
MethodError: objects of type Array{Int64,2} are not callable
Use square brackets [] for indexing an Array.As pointed out by Bogumił Kamiński in the comments, in Julia 1.0.0 you need to do using Statistics to access the std function:
VERSION
v"1.0.0"
A = [1 2 3 4 5]
1×5 Array{Int64,2}: 1 2 3 4 5
# Error here because using Statistics is needed in 1.0.0.
std(A)
UndefVarError: std not defined
Stacktrace: [1] top-level scope at In[2]:1
using Statistics
std(A)
1.5811388300841898