4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JuliaAdvent Calendar 2017

Day 1

v0.4 から v0.6 への移行時に、注意したこと

Posted at

概要

  • Julia データサイエンス (株)エヌ・ティー・エス を5章まで読みました
  • 上記の書籍は、v0.4 対応コードであり、 v0.6 では動かないコードがありました
  • jupyter notebook で v0.4 と v0.6 のカーネルを動かし、書籍のコードを検証しました
  • 勉強会で使ったリポジトリ
  • ページ数は上記書籍のものです

各論

@formula(A ~ B + C) P49

v0.4 では、このように、formula を指定しました

ModelFrame(A ~ B + C, dataframe)

v0.6 では、このように @formula を利用します

ModelFrame(@formula(A ~ B + C), dataframe)

github 上のイシュー Julia 0.6 Formula broken? #1176

ModelMatrix P49

書籍の出力では、ModelMatrix 関数で、モデルマトリクス部分の表示は行列で表示されていますが
v0.6 では、一行に表示されてしまいます。

random_modelmatrix = ModelMatrix(ModelFrame(@formula(A ~ B + C), random_dataframe))
DataFrames.ModelMatrix{Array{Float64,2}}([1.0 -0.835347 0.939002; 1.0 0.317254 -1.83803;  ; 1.0 -0.222329 0.755704; 1.0 1.92363 1.48702], [0, 1, 2])

該当部分を表示するには、このようにします

random_modelmatrix.m
5×3 Array{Float64,2}:
 1.0  0.607134   -0.908529
 1.0  1.14795     0.380257
 1.0  2.10419     1.96638 
 1.0  1.5642     -0.191335
 1.0  0.0824698   1.13384 

参考

int(x) 5章 Gadfly のサンプルコード

v0.4 でこのように書いていた部分は、

plot((x,y) -> x*exp(-(x-int(x))^3-y^2), -10., 10, -3., 3)

v0.6 ではこのようになります。

plot((x,y) -> x*exp(-(x-round(Int,x))^3-y^2), -10., 10, -3., 3)

参考

color("xxx") 5章 Gadfly のサンプルコード

v0.4 でこのように書いていた部分は、

plot(
 layer(x=x,y=y1,Geom.line,Theme(default_color=color("red"))),
 layer(x=x,y=y2,Geom.line,Theme(default_color=color("blue")))
)

v0.6 ではこのようになります

plot(
 layer(x=x,y=y1,Geom.line,Theme(default_color=colorant"red")),
 layer(x=x,y=y2,Geom.line,Theme(default_color=colorant"blue"))
)

要素ごとの処理 5章 Gadfly のサンプルコード

v0.4 では、配列の要素ごとに二乗する処理をこのように書けた

[1:10].^2
WARNING: [a] concatenation is deprecated; use collect(a) instead
 in depwarn at deprecated.jl:73
 in oldstyle_vcat_warning at ./abstractarray.jl:29
 in vect at abstractarray.jl:32
while loading no file, in expression starting on line 0
10-element Array{Int64,1}:
   1
   4
   9
  16
  25
  36
  49
  64
  81
 100

warning に従い
v0.6 ではこのようになります

collect(1:10).^2
10-element Array{Int64,1}:
   1
   4
   9
  16
  25
  36
  49
  64
  81
 100

// 以下、追加予定

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?