« 2025年12月 | トップページ | 2026年2月 »

2026年1月27日 (火)

[R]文字列型ベクトルを文字符号化方式を指定してテキストファイルに書き込む

write関数を使う。第二引数にはファイル名を文字列で指定するのではなく、file関数を使ってコネクションを指定する。file関数には文字符号化方式を指定するencodingオプションがあるので、これに文字符号化方式の種類を指定すればよい。ベクトルの中身は一要素一行で出力され、Windows版であれば各行の最後にはCR+LFが必ず付く。

> s <- c("鳴潮", "カンタレラ", "中原麻衣")
> # Shift_JISでファイルに書き出す
> write(s, file("temp.txt", encoding = "SJIS"))
> # UTF-8でファイルに書き出す
> write(s, file("temp.txt", encoding = "UTF-8"))

2026年1月26日 (月)

[R]リストの要素名を得る

names関数を使うと、リストの要素名を得ることができる。リストに名前を付けずに要素を追加した場合は、要素名が無いということでNULLが返されるので注意。

> company <- c("miHoYo", "KURO GAME")
> title <- c("崩壊3rd", "崩壊:スターレイル", "鳴潮")
> character <- c("セナディア", "キャストリス", "帰望の流離人", "カンタレラ")
> seiyu <- c("鈴木みのり", "斎藤千和", "高田憂希", "中原麻衣")
> all <- list(company = company, title = title , character = character, seiyu = seiyu)
> all
$company
[1] "miHoYo" "KURO GAME"
$title
[1] "崩壊3rd" "崩壊:スターレイル" "鳴潮"
$character
[1] "セナディア" "キャストリス" "帰望の流離人" "カンタレラ"
$seiyu
[1] "鈴木みのり" "斎藤千和" "高田憂希" "中原麻衣"
> names(all)
[1] "company" "title" "character" "seiyu"
> all |> names()
[1] "company" "title" "character" "seiyu"
> all <- list(character, seiyu)
> all
[[1]]
[1] "セナディア" "キャストリス" "帰望の流離人" "カンタレラ"
[[2]]
[1] "鈴木みのり" "斎藤千和" "高田憂希" "中原麻衣"
> names(all)
NULL

2026年1月23日 (金)

[R]複素数の共役複素数を得る

Conj関数を使う。

> z <- complex(real = 1:3, imaginary = 4:6)
> print(z)
[1] 1+4i 2+5i 3+6i
> Conj(z)
[1] 1-4i 2-5i 3-6i

2026年1月22日 (木)

[R]複素数の偏角を得る

Arg関数を使う。最後の手計算による結果と一致していることがわかる。

> z <- complex(real = 1:3, imaginary = 4:6)
> Arg(z)
[1] 1.325818 1.190290 1.107149
> atan(Im(z) / Re(z))
[1] 1.325818 1.190290 1.107149

2026年1月20日 (火)

[R]複素数の絶対値を得る

Mod関数を使う。最後の手計算による結果と一致していることがわかる。

> z <- complex(real = 1:3, imaginary = 4:6)
> print(z)
[1] 1+4i 2+5i 3+6i
> Mod(z)
[1] 4.123106 5.385165 6.708204
> sqrt(Re(z) ^ 2 + Im(z) ^ 2)
[1] 4.123106 5.385165 6.708204

2026年1月19日 (月)

[R]複素数の実部(虚部)の値を取り出す

複素数から実部の値を取り出すにはRe関数を、虚部の値を取り出すにはIm関数を使う。それぞれ戻り値は実数。

> z <- complex(real = 1:3, imaginary = 4:6)
> print(z)
[1] 1+4i 2+5i 3+6i
> Re(z)
[1] 1 2 3
> Im(z)
[1] 4 5 6
> typeof(Re(z))
[1] "double"
> typeof(Im(z))
[1] "double"
> sqrt(Re(z) ^ 2 + Im(z) ^ 2)
[1] 4.123106 5.385165 6.708204

2026年1月11日 (日)

[R]剰余を求める

%%演算子を使う。ベクトルでまとめて処理することもできる。

> 6 %% 3
[1] 0
> 7 %% 3
[1] 1
> 8 %% 3
[1] 2
> 9 %% 3
[1] 0
> 0:9 %% 3
[1] 0 1 2 0 1 2 0 1 2 0

[R]整商を求める

整数a, b(!= 0)において、a = b q + r (0 <= r < |b|)となる整数q, rがただ一組存在し、このqを、aをbで割ったときの整商という。整商を求めるには%/%演算子を使う。ベクトルでまとめて処理することもできる。

> 4 %/% 3
[1] 1
> 5 %/% 3
[1] 1
> 6 %/% 3
[1] 2
> 7 %/% 3
[1] 2
> 0:9 %/% 3
[1] 0 0 0 1 1 1 2 2 2 3

2026年1月 8日 (木)

[Julia]Windows版をインストールする

公式ページ(https://julialang.org)の、イントール用の実行ファイルがダウンロードできるページ(https://julialang.org/downloads/manual-downloads/)を開く。2025年12月現在の最新の安定板のバージョンは1.12.3。Windows用のファイルをダウンロードする。

https://julialang-s3.julialang.org/bin/winnt/x64/1.12/julia-1.12.3-win64.exe

このファイルを実行して、インストールをする。

インストールされるフォルダーはここ(○○はユーザー名)。

C:\Users\○○\AppData\Local\Programs\Julia-1.12.3

コマンドプロンプトやPowerShellで使うために設定するパスはここ(同上)。

C:\Users\○○\AppData\Local\Programs\Julia-1.12.3\bin

2026年1月 6日 (火)

[R]複素数を使う

複素数を扱うには、複素数型ベクトルを使う。complex関数を使うか、+とi演算子を組み合わせることで、作ることができる。Rでは虚数単位をiで表す。iだけではiというオブジェクト(ベクトルやリストのこと)を表すため、虚部が1の場合は1iとする必要がある。complex関数はオプション名を省略すると、第一引数は作成するベクトルの数の指定になることに注意。

> z1 <- 2 + i
エラー: オブジェクト 'i' がありません
> z1 <- 2 + 1i
> z2 <- complex(real = 4, imaginary = 2)
> print(z1)
[1] 2+1i
> print(z2)
[1] 4+2i
> print(z1 + z2)
[1] 6+3i
> mode(z1)
[1] "complex"
> class(z1)
[1] "complex"
> typeof(z1)
[1] "complex"
> complex(real = 6, imaginary = 8)
[1] 6+8i
> complex(4, 6, 8)
[1] 6+8i 6+8i 6+8i 6+8i
> complex(1, c(3, 6), c(9, 12))
[1] 3+ 9i 6+12i
> complex(real = c(3, 6), imaginary = c(9, 12))
[1] 3+ 9i 6+12i

2026年1月 2日 (金)

[R]空の数値型ベクトルをまとめて作成する

整数の場合はinteger関数、実数の場合はdouble関数を使う。引数に作成したいベクトルの個数を指定する。指定しないと長さが0のベクトルを返す。作成された要素の初期値は0(Each element of the vector is equal to 0.)。numeric関数もあり、これはdouble関数とまったく同じ。

> i <- integer()
> length(i)
[1] 0
> is.integer(i)
[1] TRUE
> is.double(i)
[1] FALSE
> d <- double()
> length(d)
[1] 0
> is.integer(d)
[1] FALSE
> is.double(d)
[1] TRUE
> n <- numeric()
> is.integer(n)
[1] FALSE
> is.double(n)
[1] TRUE
> i <- integer(3)
> print(i)
[1] 0 0 0
> print(i + 4)
[1] 4 4 4
> d <- double(5)
> print(d)
[1] 0 0 0 0 0
> print(d + 6)
[1] 6 6 6 6 6

« 2025年12月 | トップページ | 2026年2月 »

無料ブログはココログ

■■

■■■