In [1]:
## Introduction to julia
In these series of notebooks, we are going to learn about Julia. These are
all introductory notes here, essentially getting to know the language,
and in the next session, we are going to cover data analysis and graphics
## Getting Julia
LoadError: syntax: extra token "these" after end of expression
while loading In[1], in expression starting on line 3
In [4]:
using DataFrames, DataArrays, RDatasets
function crosstable(data::DataFrame,col1,col2)
@assert isa(data[col1],PooledDataArray)
@assert isa(data[col2],PooledDataArray)
nres= NamedArray(zeros(Int,length(data[col1].pool),length(data[col2].pool)),Any[data[col1].pool,data[col2].pool],[col1,col2])
for i=1:nrow(data)
nres[data[col1].refs[i],data[col2].refs[i]] += 1
end
nres
end
WARNING: Base.String is deprecated, use AbstractString instead.
likely near /Users/arindambose/.julia/v0.4/RDatasets/src/dataset.jl:1
WARNING: Base.String is deprecated, use AbstractString instead.
likely near /Users/arindambose/.julia/v0.4/RDatasets/src/dataset.jl:1
WARNING: Base.String is deprecated, use AbstractString instead.
likely near /Users/arindambose/.julia/v0.4/RDatasets/src/datasets.jl:1
Out[4]:
crosstable (generic function with 1 method)
In [5]:
bod = dataset("datasets", "BOD")
Out[5]:
Time Demand 1 1 8.3 2 2 10.3 3 3 19.0 4 4 16.0 5 5 15.6 6 7 19.8
In [13]:
dbin = (bod[:Demand] .>= 15.0)
Out[13]:
6-element DataArrays.DataArray{Bool,1}:
false
false
true
true
true
true
In [10]:
bod
Out[10]:
Time Demand 1 1 8.3 2 2 10.3 3 3 19.0 4 4 16.0 5 5 15.6 6 7 19.8
In [11]:
dbin = :Demand >= 15
LoadError: MethodError: `isless` has no method matching isless(::Symbol, ::Int64)
Closest candidates are:
isless(!Matched::AbstractFloat, ::Real)
isless(!Matched::Real, ::Real)
isless(!Matched::Char, ::Integer)
...
while loading In[11], in expression starting on line 1
in >= at operators.jl:37
In [12]:
dbin = bod[:Demand] > 15
LoadError: MethodError: `isless` has no method matching isless(::Int64, ::DataArrays.DataArray{Float64,1})
Closest candidates are:
isless(::Real, !Matched::AbstractFloat)
isless(::Real, !Matched::Real)
isless(::Integer, !Matched::Char)
...
while loading In[12], in expression starting on line 1
in > at operators.jl:34
In [14]:
bod[:dbin] = dbin
Out[14]:
6-element DataArrays.DataArray{Bool,1}:
false
false
true
true
true
true
In [15]:
crosstable(bod, :Time, :dbin)
LoadError: AssertionError: isa(data[col1],PooledDataArray)
while loading In[15], in expression starting on line 1
in crosstable at In[4]:4
In [16]:
crosstable(bod, :dbin, :Time)
LoadError: AssertionError: isa(data[col1],PooledDataArray)
while loading In[16], in expression starting on line 1
in crosstable at In[4]:4
In [17]:
freqtable(bod, :dbin, :Time)
LoadError: UndefVarError: freqtable not defined
while loading In[17], in expression starting on line 1
In [18]:
using Freqtables
WARNING: New definition
broadcast(Function, NamedArrays.NamedArray...) at /Users/arindambose/.julia/v0.4/NamedArrays/src/keepnames.jl:47
is ambiguous with:
broadcast(Function, DataArrays.PooledDataArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:309.
To fix, define
broadcast(Function)
before the new definition.
WARNING: New definition
+(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
+(DataArrays.DataArray, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:326.
To fix, define
+(DataArrays.DataArray{#T1<:Number, N<:Any}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
+(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
+(DataArrays.AbstractDataArray, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:349.
To fix, define
+(DataArrays.AbstractDataArray{#T1<:Number, N<:Any}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
./(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
./(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:285.
To fix, define
./(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, Union{DataArrays.PooledDataArray{#T2<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T2<:Number, N<:Any}})
before the new definition.
WARNING: New definition
./(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
./(Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:284.
To fix, define
./(Union{DataArrays.PooledDataArray{#T1<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T1<:Number, N<:Any}}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
./(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
./(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:285.
To fix, define
./(NamedArrays.NamedArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray})
before the new definition.
WARNING: New definition
.+(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
.+(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:297.
To fix, define
.+(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, Union{DataArrays.PooledDataArray{#T2<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T2<:Number, N<:Any}})
before the new definition.
WARNING: New definition
.+(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
.+(Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:297.
To fix, define
.+(Union{DataArrays.PooledDataArray{#T1<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T1<:Number, N<:Any}}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
.+(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
.+(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:297.
To fix, define
.+(NamedArrays.NamedArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray})
before the new definition.
WARNING: New definition
.*(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
.*(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:295.
To fix, define
.*(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, Union{DataArrays.PooledDataArray{#T2<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T2<:Number, N<:Any}})
before the new definition.
WARNING: New definition
.*(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
.*(Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:295.
To fix, define
.*(Union{DataArrays.PooledDataArray{#T1<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T1<:Number, N<:Any}}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
.*(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
.*(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray...) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:295.
To fix, define
.*(NamedArrays.NamedArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray})
before the new definition.
WARNING: New definition
-(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
-(AbstractArray, DataArrays.DataArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:326.
To fix, define
-(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, DataArrays.DataArray{#T2<:Number, N<:Any})
before the new definition.
WARNING: New definition
-(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
-(AbstractArray, DataArrays.AbstractDataArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:349.
To fix, define
-(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, DataArrays.AbstractDataArray{#T2<:Number, N<:Any})
before the new definition.
WARNING: New definition
-(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
-(DataArrays.DataArray, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:326.
To fix, define
-(DataArrays.DataArray{#T1<:Number, N<:Any}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
-(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
-(DataArrays.AbstractDataArray, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:349.
To fix, define
-(DataArrays.AbstractDataArray{#T1<:Number, N<:Any}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
-(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
-(AbstractArray, DataArrays.DataArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:326.
To fix, define
-(NamedArrays.NamedArray, DataArrays.DataArray)
before the new definition.
WARNING: New definition
-(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
-(AbstractArray, DataArrays.AbstractDataArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/operators.jl:349.
To fix, define
-(NamedArrays.NamedArray, DataArrays.AbstractDataArray)
before the new definition.
WARNING: New definition
.-(NamedArrays.NamedArray{#T1<:Number, #N<:Any, AT<:Any, DT<:Any}, AbstractArray{#T2<:Number, #N<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:33
is ambiguous with:
.-(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:285.
To fix, define
.-(NamedArrays.NamedArray{#T1<:Number, N<:Any, AT<:Any, DT<:Any}, Union{DataArrays.PooledDataArray{#T2<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T2<:Number, N<:Any}})
before the new definition.
WARNING: New definition
.-(AbstractArray{#T1<:Number, #N<:Any}, NamedArrays.NamedArray{#T2<:Number, #N<:Any, AT<:Any, DT<:Any}) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:34
is ambiguous with:
.-(Union{DataArrays.DataArray, DataArrays.PooledDataArray}, AbstractArray) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:284.
To fix, define
.-(Union{DataArrays.PooledDataArray{#T1<:Number, R<:Integer, N<:Any}, DataArrays.DataArray{#T1<:Number, N<:Any}}, NamedArrays.NamedArray{#T2<:Number, N<:Any, AT<:Any, DT<:Any})
before the new definition.
WARNING: New definition
.-(NamedArrays.NamedArray, AbstractArray) at /Users/arindambose/.julia/v0.4/NamedArrays/src/arithmetic.jl:62
is ambiguous with:
.-(AbstractArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray}) at /Users/arindambose/.julia/v0.4/DataArrays/src/broadcast.jl:285.
To fix, define
.-(NamedArrays.NamedArray, Union{DataArrays.DataArray, DataArrays.PooledDataArray})
before the new definition.
WARNING: requiring "Freqtables" in module "Main" did not define a corresponding module.
In [19]:
freqtable(bod, :Time, :dbin)
LoadError: UndefVarError: freqtable not defined
while loading In[19], in expression starting on line 1
In [20]:
Pkg.add("Freqtables")
INFO: Nothing to be done
INFO: METADATA is out-of-date — you may not have the latest version of Freqtables
INFO: Use `Pkg.update()` to get the latest versions of your packages
In [21]:
Pkg.update()
INFO: Updating METADATA...
INFO: Updating cache of FactCheck...
INFO: Updating Tables...
INFO: Updating RCalling...
INFO: Updating FreqTables...
INFO: Computing changes...
INFO: Upgrading FactCheck: v0.4.1 => v0.4.2
In [22]:
using Freqtables
WARNING: replacing module FreqTables
WARNING: requiring "Freqtables" in module "Main" did not define a corresponding module.
In [23]:
freqtable(bod, :Time, :dbin)
LoadError: UndefVarError: freqtable not defined
while loading In[23], in expression starting on line 1
In [ ]:
Content source: arinbasu/JuliaWorkshop2015
Similar notebooks: