Open8

Rのコードをjuliaに移行するまでに調べたものをまとめるスクラップ

Y8Y8

juliaでfor文を回す

for j = 1:N
    print(j, "")
end
println()
Y8Y8

動的に列を変えて追加する方法

binom = Binomial(1, 0.3)

i_end = 10
d_dyn = DataFrame(
    a = zeros(20),
    b = zeros(20),
    c = zeros(20),
    d = zeros(20),
    e = zeros(20),
    f = zeros(20),
    g = zeros(20),
    h = zeros(20),
    i = zeros(20),
    j = zeros(20),
)

for i = 1:i_end
    d_dyn[:, i] = rand(binom, 20)
end

d_dyn
Y8Y8

juliaで二項分布の乱数を生成する

using Distributions
binom = Binomial(1, 0.3)
rand(binom, 20)

参考文献

Y8Y8

一様分布の生成の仕方

using Distributions
rand(Uniform(), 2, 2)
#> 2×2 Matrix{Float64}:
#>  0.0587602  0.673221
#>  0.620989   0.29543

rand(Uniform(1,10), 4)
#> 4-element Vector{Float64}:
#>  9.937430025050833
#>  2.3917716767642836
#>  2.054404233023331
#>  1.8739689532432857
Y8Y8

juliaで日本語入りのcsvファイルを読む方法

  • julia v 1.8.2
using CSV, StringEncodings
using DataFrames

file_path = "filename.csv"
d_raw = DataFrame(CSV.File(open(read, file_path, enc"cp932")))
# or 
d_raw = CSV.File(open(read, file_path, enc"cp932")) |> DataFrame

d_raw

参考文献

Y8Y8
using DataFrames, Random

# 初期データフレームの作成
d = DataFrame(id = 1:5, sd = 1:5)

# 乱数生成のシードを設定
Random.seed!(123)

# 10回繰り返して列を追加
for i in 1:10
    col_name = Symbol("i_", i)  # 列名を動的に生成
    d[:, col_name] = 1 .+ d.sd .* randn(5)  # 各行に対して乱数を生成
end

# 結果を表示
println(d)

#> 5×12 DataFrame
#>  Row │ id     sd     i_1        i_2       i_3        i_4        i_5       i_6       i_7       i_8       i_9       i_10     
#>      │ Int64  Int64  Float64    Float64   Float64    Float64    Float64   Float64   Float64   Float64   Float64   Float64  
#> ─────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
#>    1 │     1      1   0.354269   1.98098   1.5932     0.880535   1.2614   1.27359    1.48433   1.14838   2.10678   2.54867
#>    2 │     2      2  -1.9265     1.15991  -0.536818   1.41215   -1.624    1.11419    0.59518   3.01923   3.29739  -2.88658
#>    3 │     3      3  -3.87081    5.64737   0.771496  -2.05704   -2.82633  2.19745   -2.26466   1.0863    2.84722  -4.22999
#>    4 │     4      4   0.12934   -4.36644  -1.6196     3.02124    2.55363  0.377395   3.81503   1.68319  -5.60638   1.91299
#>    5 │     5      5   3.46123    3.06081   4.4353    -1.69149    1.54509  9.96164    1.71663  -7.5856    2.0907    3.9711