In [ ]:
function reformat(data::Array{ASCIIString,2})
data = data[2:end,:]
id_event = Dict{ASCIIString,Set{ASCIIString}}()
for i in 1:size(data,1)
id = data[i,1]
if in(id,keys(id_event))
push!(id_event[id],data[i,1])
else
id_event[id] = Set{ASCIIString}([data[i,2]])
end
end
colname = sort(unique(data[:,2]))
lencol = length(colname)
shape = length(unique(data[:,1])),length(colname)+1
result = Array{ASCIIString,2}(shape)
for (ind,id) in enumerate(keys(id_event))
@show ind
vec = Array{ASCIIString,1}(lencol)
events = id_event[id]
for (ind,col) in enumerate(colname)
if in(col,events)
vec[ind] = "1"
else
vec[ind] = "0"
end
end
result[ind,:] = vcat(id,vec)
@show result[ind,:]
end
result
end
ev = readcsv("../data/event_type.csv",ASCIIString)
reformat(ev)
In [7]:
unique(ev[:,2])
Out[7]:
In [ ]: