COLOR(red){SIZE(30){「和」の定数}}

元々は,letters や month.name の日本語版のつもりだったが,ついつい。~
必要になることは滅多にないだろうけど,いざ必要になったら,わざわざ入力するのが面倒だというときに。

-定数の定義
 set.str <- function(x,del=",") return(unlist(strsplit(x,del)))
 ひらがな <- set.str("あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆえよわいうえをん","")
 カタカナ <- set.str("アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤイユエヨワイウエヲン","")
 # 色は匂へど 散りぬるを 我世誰ぞ 常ならむ 有為の奥山 今日越えて 浅き夢見じ 酔ひもせず
 いろは <- set.str("いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす","")
 イロハ <- set.str("イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス","")
 都道府県 <- set.str("北海道,青森県,岩手県,宮城県,秋田県,山形県,福島県,茨城県,栃木県,群馬県,埼玉県,千葉県,東京都,神奈川県,新潟県,富山県,石川県,福井県,山梨県,長野県,岐阜県,静岡県,愛知県,三重県,滋賀県,京都府,大阪府,兵庫県,奈良県,和歌山県,鳥取県,島根県,岡山県,広島県,山口県,徳島県,香川県,愛媛県,高知県,福岡県,佐賀県,長崎県,熊本県,大分県,宮崎県,鹿児島県,沖縄県")
 月 <- set.str("睦月,如月,弥生,卯月,皐月,水無月,文月,葉月,長月,神無月,霜月,師走")
 曜日2 <- set.str("日月火水木金土","")
 曜日 <- paste(曜日2,"曜日",sep="")
 十干 <- set.str("甲乙丙丁戊己庚辛壬癸","")
 五行 <- set.str("木火土金水","")
 十干2 <- set.str("きのえ,きのと,ひのえ,ひのと,つちのえ,つちのと,かのえ,かのと,みずのえ,みずのと")
 十二支 <- set.str("子丑寅卯辰巳午未申酉戌亥","")
 十二支2 <- set.str("ね,うし,とら,う,たつ,み,うま,ひつじ,さる,とり,いぬ,い")
 干支 <- paste(rep(十干,6),rep(十二支,5),sep="")
 干支2 <- paste(rep(十干2,6),rep(十二支2,5),sep="")
 六曜 <- 六輝 <- set.str("先勝,友引,先負,仏滅,大安,赤口")
 十二宮 <- paste(set.str("白羊,金牛,双子,巨蟹,獅子,処女,天秤,天蝎,人馬,磨羯,宝瓶,双魚"),"宮",sep="")
 十二宮2 <- paste(set.str("はくよう,きんぎゅう,そうし,きょかい,しし,しょじょ,てんびん,てんかつ,じんば,まかつ,ほうへい,そうぎょ"),"宮",sep="")
 十二星座 <- paste(set.str("おひつじ,おうし,ふたご,かに,しし,おとめ,てんびん,さそり,いて,やぎ,みずがめ,うお"),"座",sep="")
 二十四節気 <- set.str("小寒,大寒,立春,雨水,啓蟄,春分,清明,穀雨,立夏,小満,芒種,夏至,小暑,大暑,立秋,処暑,白露,秋分,寒露,霜降,立冬,小雪,大雪,冬至")
 二十八宿 <- structure(set.str("角斗奎井亢牛婁鬼氏女胃柳房虚昴星心危畢張尾室觜翼箕壁参軫",""),.Dim = c(7,4),.Dimnames = list(1:7,paste(c("東","北","西","南"),"方七宿",sep="")))
 二十八宿2 <- structure(set.str("かく,と,けい,せい,こう,ぎゅう,ろう,き,てい,じょ,い,りゅう,ぼう,きょ,ぼう,せい,しん,き,ひつ,ちょう,び,しつ,し,よく,き,へき,しん,しん"),.Dim = c(7,4),.Dimnames = list(1:7,paste(c("東","北","西","南"),"方七宿",sep="")))
 惑星 <- set.str("水星,金星,地球,火星,木星,土星,天王星,海王星")
 単位 <- structure(list(
   数値 = 10^c(seq(68,24,by=-4),21,20,18,16,15,12,9,8,6,4:(-22),-24),
   表記 = set.str("無量大数,不可思議,那由他,阿僧祇,恒河沙,極,載,正,澗,溝,穣,杼,-,垓,-,京,-,兆,-,億,-,万,千,百,十,一,分,厘,毛,糸,忽,微,繊,沙,塵,挨,渺,漠,模糊,逡巡,須臾,瞬息,弾指,刹那,六徳,虚空,清,浄,-"),
   読み = set.str("むりょうたいすう,ふかしぎ,なゆた,あそうぎ,ごうがしゃ,ごく,さい,せい,かん,こう,じょう,じょ,-,がい,-,けい,-,ちょう,-,おく,-,まん,せん,ひゃく,じゅう,いち,ぶ,りん,もう,し,こつ,び,せん,しゃ,じん,あい,びょう,ばく,もこ,しゅんじゅん,しゅゆ,しゅんそく,だんし,せつな,りっとく,こくう,せい,じょう,-"),
   表記2 = set.str("-,-,-,-,-,-,-,-,-,-,-,ヨタ,ゼタ,-,エクサ,-,ペタ,テラ,ギガ,-,メガ,-,キロ,ヘクト,デカ,-,デシ,センチ,ミリ,-,-,マイクロ,-,-,ナノ,-,-,ピコ,-,-,フェムト,-,-,アト,-,-,ゼプト,-,ヨクト"),
   記号 =set.str("-,-,-,-,-,-,-,-,-,-,-,Y,Z,-,E,-,P,T,G,-,M,-,k,h,da,-,d,c,m,-,-,μ,-,-,n,-,-,p,-,-,f,-,-,a,-,-,z,-,y")),
   .Names = c("数値","表記","読み","表記2","記号"),
   row.names = c(seq(68,24,by=-4),21,20,18,16,15,12,9,8,6,4:(-22),-24),
   row.names = as.character(c(seq(68,24,by=-4),21,20,18,16,15,12,9,8,6,4:(-22),-24)),
   class = "data.frame")

--応用例?? その1
 > get.干支 <- function(yyyy) {i <- (yyyy+57) %% 60; i <- ifelse(i==0,60,i); return(sprintf("%s(%s)",干支[i], 干支2[i]))}
 > get.干支(1924) # 甲子園ができた
 [1] "甲子(きのえね)"
 > get.干支(1984) # 甲子郎さんは,たぶん1924年生まれで,たぶん 1984年に還暦になった
 [1] "甲子(きのえね)"
 > get.干支(1966) # 一番最近の丙午(出生数大幅減)
 [1] "丙午(ひのえうま)"
 > get.干支(1906) # もう一つ前の丙午
 [1] "丙午(ひのえうま)"
 > get.干支(1666) # 八百屋お七の生まれた年(そもそもの俗信の始まり?)
 [1] "丙午(ひのえうま)"
 > get.干支(1868) # 戊辰戦争
 [1] "戊辰(つちのえたつ)"
 > get.干支(2006) # 今年は?
 [1] "丙戌(ひのえいぬ)"
 > get.十干 <- function(yyyy) {i <- (yyyy+7) %% 10; i <- ifelse(i==0,10,i); return(sprintf("%s(%s)",十干[i], 十干2[i]))}
 > get.十干(2006)
 [1] "丙(ひのえ)"
 > get.十二支 <- function(yyyy) {i <- (yyyy+9) %% 12; i <- ifelse(i==0,12,i); return(sprintf("%s(%s)",十二支[i], 十二支2[i]))}
 > get.十二支(2006)
 [1] "戌(いぬ)"

--応用例?? その2
 > matrix(いろは,7)
      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
 [1,] "い" "ち" "よ" "ら" "や" "あ" "ゑ"
 [2,] "ろ" "り" "た" "む" "ま" "さ" "ひ"
 [3,] "は" "ぬ" "れ" "う" "け" "き" "も"
 [4,] "に" "る" "そ" "ゐ" "ふ" "ゆ" "せ"
 [5,] "ほ" "を" "つ" "の" "こ" "め" "す"
 [6,] "へ" "わ" "ね" "お" "え" "み" "い"
 [7,] "と" "か" "な" "く" "て" "し" "ろ"
 Warning message:
 行列のデータ長 [47] が行数  [7] を整数で割った、もしくは掛けた値ではありません  
R の特徴のリサイクルのため最後の列に破綻が生じるが,7行目の最後と7列目のリサイクルが始まる前の文字を拾うと,「とかなくてしす(咎なくて死す)」,本当は罪もないのに濡れ衣で死ぬ羽目になった,と読めるというのが「いろは歌のコード」

-R に元々用意されているもの
--曜日
 > format(ISOdate(2000, 8, 20:26), "%a")
 [1] "日" "月" "火" "水" "木" "金" "土"
 > format(ISOdate(2006, 8, 20:26), "%A")
 [1] "日曜日" "月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日"

--月
 > format(ISOdate(2000, 1:12, 1), "%B")
  [1] "1月"  "2月"  "3月"  "4月"  "5月"  "6月"  "7月"  "8月"  "9月"  "10月"
 [11] "11月" "12月"

--時間
 > format(ISOdate(2006, 8, 21, 18, 31, 32), "%X")
 [1] "18時31分32秒"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS