« 2020年2月 | トップページ | 2020年4月 »

2020年3月30日 (月)

[R]ベクトルから最大・最小の値・要素番号を抜き出す

max関数、min関数は引数にベクトルを指定すると、それぞれ最大、最小の値を返す。which.max関数、which.min関数はそれぞれ最大、最小の値の要素番号を返す。複数あった場合は、最初の値が対象となる。

> d <- c(3.0, 1.0, 2.0)
> max(d)
[1] 3
> which.max(d)
[1] 1
> min(d)
[1] 1
> which.min(d)
[1] 2
> d <- c(1.0, 3.0, 3.0)
> max(d)
[1] 3
> which.max(d)
[1] 2
> d <- c(3.0, 1.0, 1.0)
> min(d)
[1] 1
> which.min(d)
[1] 2

2020年3月28日 (土)

[Python]行列を作る

NumPyパッケージのarrayメソッドを使う。以下は3行2列の行列を作成した例。

>>> import numpy as np
>>> x = np.array([[1, 2], [3, 4], [5, 6]])
>>> print(x)
[[1 2]
[3 4]
[5 6]]
>>> x
array([[1, 2],
[3, 4],
[5, 6]])
>>> x[0, 0]
1
>>> x[2, 1]
6

行列の要素を取り出す際に指定するインデックスは、0から始まる0および正値の整数であることに注意。

2020年3月27日 (金)

[R]フルパスからファイル名のみ抜き出す

gsub関数を使う。

> s <- "C:/abc/def/ghi.jkl"
> gsub("^.+/", "", s)
[1] "ghi.jkl"

 

2020年3月25日 (水)

[R]download.file関数でダウンロードしたファイルが開けない

例えばエクセルのファイル(*.xlsx)をダウンロードする。以下は、財務省のホームページからxlsxファイルをダウンロードした例。

> s = "https://www.mof.go.jp/international_policy/reference/financial_flows_to_developing_countries/2017.xlsx"
> download.file(s, destfile = "sample.xlsx")
URL 'https://www.mof.go.jp/international_policy/reference/financial_flows_to_developing_countries/2017.xlsx' を試しています
Content type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' length 27011 bytes (26 KB)
downloaded 26 KB

このダウンロードしてsample.xlsxと保存したファイルをエクセルで開くと「一部の内容に問題が見つかりました。」といわれて開けない。回復もできない。

xlsxファイルはバイナリファイルのため、modeオプションにwbを指定してダウンロードする。

> download.file(s, destfile = "sample.xlsx", mode = "wb")
URL 'https://www.mof.go.jp/international_policy/reference/financial_flows_to_developing_countries/2017.xlsx' を試しています
Content type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' length 27011 bytes (26 KB)
downloaded 26 KB

このダウンロードしてsample.xlsxと保存したファイルは、エクセルで開けるはず。

2020年3月22日 (日)

[Excel VBA]FileSystemObjectを使えるようにする

  1. Microsoft Visual Basic for Applicationsウィンドウのメニュー「ツール」→「参照設定」。
  2. 「Microsoft Scripting Runtime」を探す。初期状態ではチェックされていないはず。
  3. これにチェックをつけて、OKボタンを押す。

これで使えるようになる。

1

2

2020年3月20日 (金)

[R]データフレームから任意の行だけ抜き出す

[〇, ] の〇の個所に、抜き出したい行を入力して指定する。複数行を一度着抜き出したいときは〇にはベクトルで指定する。存在しない要素を指定するとNAが返ってくる。



> n <- c(9, 8, 7, 6)
> s <- c("a", "b", "c", "d")
> dtf <- data.frame(n, s)
> dtf
n s
1 9 a
2 8 b
3 7 c
4 6 d
> dtf[2, ]
n s
2 8 b
> dtf[c(2, 4), ]
n s
2 8 b
4 6 d
> dtf[c(1, 20), ]
n s
1 9 a
NA NA <NA>

2020年3月19日 (木)

[R]データフレームの桁数を得る

ncol関数を使う。

> n <- c(1, 2, 3)
> s <- c("a", "b", "c")
> dtf <- data.frame(n, s)
> dtf
n s
1 1 a
2 2 b
3 3 c
> ncol(dtf)
[1] 2

[R]データフレームの行数を得る

nrow関数を使う。

> n <- c(1, 2, 3)
> s <- c("a", "b", "c")
> dtf <- data.frame(n, s)
> dtf
n s
1 1 a
2 2 b
3 3 c
> nrow(dtf)
[1] 3

 

2020年3月17日 (火)

[R]ベクトルの要素の重複を取り除く

unique関数を使う。

> s <- c("A", "B", "B", "C", "C")
> unique(s)
[1] "A" "B" "C"
> n <- c(4, 3, 3, 2, 2, 2, 1)
> unique(n)
[1] 4 3 2 1

 

2020年3月16日 (月)

[Python]キーボードから読み込み

input関数を使う。なお、戻り値は文字型となる。

>>> s = input()
ABC ←入力待ちでキーボードからABCと入力
>>> s
'ABC'
>>> s = input()
123 ←入力待ちでキーボードから123と入力 >>> s
'123'
>>> s = input()
 ←入力待ちでEnterキーのみを押す >>> s
''

2020年3月15日 (日)

[R]日付型ベクトルの年月日を数値型で簡単に取り出す

format関数とas.integer関数を使うとベクトルで簡単に取り出せる。

> dt[1] <- as.Date("2001-02-03")
> dt[2] <- as.Date("2002-03-04")
> dt[3] <- as.Date("2003-04-05")
> dt
[1] "2001-02-03" "2002-03-04" "2003-04-05"
> as.integer(format(dt, "%Y"))
[1] 2001 2002 2003
> as.integer(format(dt, "%m"))
[1] 2 3 4
> as.integer(format(dt, "%d"))
[1] 3 4 5

2020年3月14日 (土)

[MinGW]インストールする(2019年12月版)

公式ページ(http://www.mingw.org/)を開く。

右上のメニューの「Downloads」をクリック。

画面が切り替わる。下にスクロールして「MinGW Installation Manager (mingw-get)」をクリック。

画面が切り替わる。下にスクロールして「MinGW-Get Version ○○」をクリック。○○の箇所にはバージョン番号等が入る。2019年12月現在は「0.6.3 (Beta)」。

画面が切り替わる。下にスクロールして「mingw-get-setup.exe」をクリック。画面が切り替わり、このファイルのダウンロードが始まる。

ダウンロードした mingw-get-setup.exe をダブルクリックする。「MinGW Installation Manager Setup Tool」が起動する。「This is free software; see~」と表示される。下部の「Install」ボタンをクリック。

特に変更することなく「Continue」をクリック。

「MinGW Installation Manager」が起動する。左のメニューの「Basic Setup」をクリック。右上から、以下の3つは選択。

mingw-developer-toolkit-bin
mingw32-base-bin
msys-base-bin

Cコンパイラを使いたい場合は以下を選択。

mingw32-gcc-g++-bin

Fortranコンパイラを使いたい場合は以下を選択。

mingw32-gcc-fortran-bin

メニュー「Installation」の「Apply Changes」を選択。インストールが始まる。

« 2020年2月 | トップページ | 2020年4月 »

無料ブログはココログ

■■

■■■