« 2018年2月 | トップページ | 2018年9月 »

2018年8月31日 (金)

[R]環境に記憶されているオブジェクト(ベクトル、変数)を削除する

Rの環境では、作成されたベクトル(変数)はその環境に記憶される。以下の例では、ベクトル(変数)nに数値の3を代入し、そのあとも記憶されていることが確認できる。ls関数はその環境で記憶されているオブジェクト(ベクトル、変数など)を表示させる。
> n <- 3
> ls()
[1] "n"
> n
[1] 3
この記憶されているオブジェクトをその環境から削除するには、rm関数を使う。引数にその削除をしたいオブジェクトを与えてrm関数を実行する。
> n <- 3
> ls()
[1] "n"
> n
[1] 3
>
> n <- 3
> ls()
[1] "n"
> n
[1] 3
> rm("n")
> n
エラー:  オブジェクト 'n' がありません
すべてのオブジェクトを一括で削除したい場合は、ls関数を使う。ls関数は記憶されているオブジェクトを文字型ベクトルでオブジェクト名を返す関数のため、これをlistオプションを使って引数で与える。
> n1 <- 3
> n2 <- 2
> n1
[1] 3
> n2
[1] 2
> rm(list = ls())
> n1
エラー:  オブジェクト 'n1' がありません
> n2
エラー:  オブジェクト 'n2' がありません
> ls()
character(0)

2018年8月28日 (火)

[R]大きな数を三けたごとにコンマでくぎって表示する

format関数を使う。big.markオプションにコンマ(,)を指定する。出力は当然文字型になる。

> n <- 1234567890
> format(n, big.mark = ",")
[1] "1,234,567,890"

2018年8月25日 (土)

[R]現在の環境のタイムゾーンを取得する

Sys.timezone関数を使用する。

> Sys.timezone()
[1] "Asia/Tokyo"

2018年8月24日 (金)

[R]POSIXct型の日付ベクトルをDate型の日付ベクトルに変換すると日がずれる

POSIXct型の日付ベクトルをDate型の日付ベクトルに変換すると日がずれることがある。POSIXct型→Date型に変換する場合は、タイムゾーンを指定する必要がある。

> dt <- as.POSIXct("2018-04-01")
> as.Date(dt)
[1] "2018-03-31"
> as.Date(dt, tz = "Asia/Tokyo")
[1] "2018-04-01"
> as.Date(dt, tz = Sys.timezone())
[1] "2018-04-01"

2018年8月15日 (水)

[R]連続した日にちの日付型ベクトルを作成する

seq関数を使う。例として、2016年2月20日から3月1日までの連続した日にちの日付型ベクトルを作成してみる。この年は閏年なので、2月20日から3月1日までは11日である。seq関数のbyオプションを使う。
> dt1 <- as.Date("2016-02-20")
> dt2 <- as.Date("2016-03-01")
> seq(dt1, dt2, by = "day")
[1] "2016-02-20" "2016-02-21" "2016-02-22" "2016-02-23"
[5] "2016-02-24" "2016-02-25" "2016-02-26" "2016-02-27"
[9] "2016-02-28" "2016-02-29" "2016-03-01"
> length(seq(dt1, dt2, by = "day"))
[1] 11
1日おきのベクトルも作成することができる。
> seq(dt1, dt2, by = "2 days")
[1] "2016-02-20" "2016-02-22" "2016-02-24" "2016-02-26"
[5] "2016-02-28" "2016-03-01"
2日おきのベクトルも作成することができる。
> seq(dt1, dt2, by = "3 days")
[1] "2016-02-20" "2016-02-23" "2016-02-26" "2016-02-29"
最後の足らない分は破棄される。

« 2018年2月 | トップページ | 2018年9月 »

無料ブログはココログ

■■

■■■