fixedpoint.jp


2020-03-27

Rで定義されている短い名前の識別子の一覧

Rで既定で有効になっているbaseパッケージには、cという名前の関数があります。これは連結(concatenate)ないし結合(combine)のための関数です。また、tという名前の関数があります。これは転置(transpose)関数です。

このように短い名前の識別子がもともと定義されている場合でも、変数名として別の値を束縛することは可能ですが、紛らわしいコードになる恐れがあります。そこで、気付かずに変数名に使ってしまわないように、3文字以下のアルファベットからなる既定で定義済みの識別子を以下のように一覧してみました。

short-predefined-identifiers-in-r.txt
% R 

R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin19.3.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> Map(function(p) Filter(function(x) grepl('^\\w{1,3}$', x), ls(sprintf('package:%s', p))), c('base', getOption('defaultPackages')))
$base
 [1] "abs" "all" "any" "Arg" "by"  "c"   "cat" "col" "cos" "cut" "det" "dim"
[13] "dir" "exp" "F"   "for" "gc"  "get" "gl"  "I"   "if"  "Im"  "log" "ls" 
[25] "Map" "max" "min" "Mod" "pi"  "q"   "qr"  "raw" "Re"  "rep" "rev" "rle"
[37] "rm"  "row" "seq" "sin" "sub" "sum" "svd" "t"   "T"   "tan" "try" "unz"
[49] "url" "xor"

$datasets
[1] "BOD" "co2" "CO2" "lh"  "npk"

$utils
[1] "de"  "fix" "nsl" "str" "tar" "vi"  "zip"

$grDevices
 [1] "bmp" "cm"  "hcl" "hsv" "pdf" "png" "rgb" "svg" "x11" "X11"

$graphics
[1] "box" "bxp" "lcm" "par" "pie" "rug"

$stats
 [1] "acf" "AIC" "aov" "ar"  "ave" "BIC" "C"   "ccf" "cor" "cov" "D"   "df" 
[13] "dt"  "end" "fft" "glm" "hat" "IQR" "lag" "lm"  "mad" "nlm" "nls" "pf" 
[25] "ppr" "pt"  "qf"  "qt"  "rf"  "rt"  "sd"  "SSD" "stl" "ts"  "tsp" "var"

$methods
[1] "as"  "el"  "is"  "new" "Ops"

> 

該当するものが100以上あることが分かります。また、小文字だけでなく、大文字のCTも定義済みです。

#permalink

2020-03-07

2進法で任意の自然数を一意に表現できることの証明

2進法で数を表すことは、計算機における計算の基礎です。形式的には、2進法は0と1の2つの文字からなる列を数に対応させる関数です。

ところで、2進法で任意の自然数を表現できることは自明ではありません。加えて、各自然数について2進法での表現が一意になるという点も自明ではありません。(ここでは位取り記数法での有限の01列に限って考え、無限列は考えません。)

こういった2進法の前提となる事実は、どの自然数もいくつかの相異なる2の冪乗の和で表せることから導かれます。すなわち、任意の自然数\(n\)について、次を満たす非負整数の有限集合\(K_n\)が一意に存在します: \[n = \sum_{k \in K_n} 2^k.\]

まず次の補題が成り立つことに注意します(帰納法で簡単に証明できます): 任意の非負整数\(i\)について\[2^i = 1 + \sum_{j = 0}^{i-1} 2^j.\]

帰納法により\(K_n\)の存在が証明できます。\(n = 1\)の場合は\(K_n = \{0\}\)です。\(n = m + 1\)の場合、帰納法の仮定より\(m\)に対して\(m = \sum_{k \in K_m} 2^k\)となる\(K_m\)が存在します。\(K_m\)に含まれない最小の非負整数\(k_0\)を取ると、補題から\(K_n = \{k_0\} \cup \{k \in K_m \mid k_0 < k\}\)と求められます。

一方、\(K_n\)の一意性は次の命題から導かれます。非負整数の有限集合\(K, K'\)について、\(K \neq K'\)なら\(\sum_{k \in K} 2^k \neq \sum_{k' \in K'} 2^{k'}.\)実際、\(L := K \setminus K'\)、\(L' := K' \setminus K\)とおくと、空でない\(L \cup L'\)中の最大の要素\(l^{*}\)は、一般性を失わずに\(L\)に属すると仮定できます。このとき\(L'\)の各要素は\(l^{*}\)より小さいので、補題から\(\sum_{l \in L} 2^l \geq 2^{l^{*}} > \sum_{l' \in L'} 2^{l'}\)となって題意が示されます。

#permalink

2020-03-01

Dropboxがあなたに約束しないこと

DropboxGoogle Driveは人気のあるファイル共有サービスです。OSの違いやデスクトップ/モバイルというプラットフォームの違いを越えてファイルを共有するために便利です。

そのDropboxの利用規約privacy policyを読んでも、1つ明確にならないところがあります。それは、ユーザーがDropboxに保存していたファイルを削除した際、いつ実際にDropboxのストレージサーバからそのファイルの情報が削除されるか、という点です。ファイルやフォルダの削除に関するドキュメントには、例えばDropbox Basicアカウントならファイルを削除した30日後にシステムでの削除の処理が始まるとされています。(privacy policyにおいて、さまざまな理由でこの処理の開始時期は遅れる場合があるということが注意されています。)また、"permanently deleting files"メニューを使えば、すぐに削除の処理が開始されます。しかし、その処理が完了してファイルの情報が無くなるのはいつか、ということは述べられていません。実際、仮にストレージサーバ上にファイルが削除されずに残っていたとしても、ユーザーには分かりませんし、ユーザーに提示している規約やポリシーに反するとも言えなさそうです。

この点はGoogle Driveでも同様です。ただGoogleのドキュメンテーションの方がより物分かりが良さそうですが、結局いつ削除されるかについては約束していません。

#permalink

Archives

2020: Jan | Feb

2019: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2018: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2017: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2016: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2015: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2014: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2013: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2012: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2011: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2010: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2009: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2008: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2007: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec

2006: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec


© 2006-2020 fixedpoint.jp