Rで解析:水文学に関係する「berryFunctions」パッケージ。水文学、興味が湧きます。


パッケージヘルプのタイトルに「図描写とHydrology(水文学)に関係する機能コレクション」と記載されている「berryFunctions」パッケージが他分野でも利用できそうなので紹介します。

水文学を知らなかったので、調べてみると

「水文学(Hydrology)は地球上の水の循環および分布状況、物理的・化学的特性、および生物的環境と水の相互関係を取り扱う学問です。この中の基礎水文学にあたる部分で、自然科学的なアプローチを重視する学問分野を特に水文科学(Hydrological Sciences)と呼んでいます。」

と日本水文科学会HPで紹介されています。

非常に興味が湧く学問分野です。詳しくは以下の学会を参照ください。
日本水文科学会:http://www.suimon.sakura.ne.jp/about-jahs.html

水文学に関係する「berryFunctions」パッケージの中から、利用できそうな6つの図描写コマンドを紹介します。また、本パッケージでは図の描写以外のコマンドも収録されています。Rの基本コマンドで代用できる内容もありますが、参考までに最後に紹介します。

パッケージのバージョンは1.8.1です。
コマンドはR version 3.2.0で確認しています。

パッケージのインストール

githubまたはCRANからインストールが可能です。どちらからでも内容は変わりませんでした。お好みの方法でインストールしてください。

#githubから
ifelse(!require(devtools), install.packages("devtools"), library("devtools"))
install_github("brry/berryFunctions")

#CRANから
#install.packages("berryFunctions")

図描写コマンドの紹介

6つの図描写コマンドを紹介します。詳細はコマンド内のコメントを確認ください。その他の図描写コマンドはパッケージヘルプを確認してください。
”lscコマンド”により出力されず図の解釈がいまいちわかりません。水文学にお詳しい先生、ご教授いただけませんでしょうか。

#パッケージの読み込み
library("berryFunctions")

#Macの日本語文字化け対策
par(family = "HiraKakuProN-W3")

#climateGraphコマンド例
#月別平均の気温と降水量をプロット
#気象庁の東京2014年のデータ
#平均気温
#http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?prec_no=44&block_no=47662
#平均降水量
#http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?prec_no=44&block_no=47662&year=&month=&day=&view=p5
climateGraph(temp = c(6.3, 5.9, 10.4, 15.0, 20.3, 23.4, 26.8, 27.7, 23.2, 19.1, 14.2, 6.7),
rain = c(24.5, 157.5, 113.5, 155.5, 135.5, 311, 105.5, 105.0, 155.5, 384.5, 98.5, 62.0),
main = "東京\n35\U00B0 41' N / 139\U00B0 45' E",
colrain = "#4b61ba", textprop = 0.2)

#addAlphaを使用したコマンド例
#シンボルのアルファ値(透明度)を自動で調整
NewColors <- addAlpha(c("#d9bb9c", "#28231e", "#deb7a0", "#8a5136", "#e1e6ea"), 0:200/200) plot(runif(1000), col = NewColors, pch = 16, cex = 2) #groupHistコマンド例 #グループ毎の出現数を棒グラフで表示 TestData <- data.frame(value = sample(16:30, 100, replace = TRUE), Name = rep(paste0("Test", 1:5), each = 20)) groupHist(TestData, "value", "Name", col = "#e1e6ea", main = "テスト") #tableColValコマンド例 #セルの番号総数を色数で分割し背景色を設定しプロット #セル番号総数20の場合、1:4が"#d9bb9c"、5:9が"#a87963"...となります #オプションを追加することでpdf出力が可能です:, pdffile = "ファイル名.pdf", pdf = TRUE TestMatrix <- matrix(sample(1:20, 20, replace = FALSE), ncol = 5, byrow = TRUE) colnames(TestMatrix) <- paste0("Color", LETTERS[1:5]) rownames(TestMatrix) <- paste("群", 1:4, sep = "_") tableColVal(TestMatrix, palette = c("#d9bb9c", "#a87963", "#deb7a0", "#8a5136", "#4b61ba"), pdf = FALSE) #movAvLinesコマンド例 movAvLines(1:30, sample(1:20, 30, replace = TRUE), col = "#deb7a0", lwd = 3, plot = TRUE) #lscコマンドの例 #下記コマンドはヘルプそのママです。面白い図なので紹介 #estimate parameters for Unit Hydrograph, plot data and simulation: lsc #単位当たりの水量とシミュレーションによる推定値?水文学にお詳しい先生、解釈法を教授いただけませんでしょうか QOBS <- dbeta(1:40/40, 3, 10) + rnorm(20, 0.2) + c(seq(0, 1, len = 20), rep(1, 20)) PREC <- c(1, 1, 3, 4, 5, 5, 4, 3, 1, 1, rep(0, 30)) lsc(PREC, QOBS, area = 10) [/code]


図の出力例

climateGraphコマンド
climateGraph
addAlphaを使用したコマンド
addAlpha
groupHistコマンド
groupHist
tableColValコマンド
tableColVal
movAvLinesコマンド
movAvLines
lscコマンド
omosirozu


その他コマンドの紹介

Rの基本コマンドで代用できる内容もありますが、参考までに紹介します。詳細はコマンド内のコメントを確認ください。その他のコマンドはパッケージヘルプを確認してください。

#コンソールにメッセージを表示
Test <- c("からだに", "いいもの", "info@karada-good.net") message("お問い合わせ先:\n", pastec(Test, sep = "", collapse = " ")) お問い合わせ先: からだに いいもの info@karada-good.net #文字列から空白を削除 #文字列の途中に空白があっても処理できます Test <- c("から だに", "いいもの ", " info@karada-good.net") removeSpace(Test, begin = TRUE, end = TRUE, all = TRUE) [1] "からだに" "いいもの" "info@karada-good.net" #統計量を計算 #分位数の上側%:p1,分位数の下側%:p1 cie(sample(1:20, 30, replace = TRUE), lev = 0.95, digits = 3, p1 = 0.05, p2 = 0.95) 5% CI.lower 8.354 CI.upper 12.646 level 0.950 mean 10.500 sd 5.746 CV 0.547 median 10.000 Quant.p1 1.450 Quant.p2 19.000 p1 0.050 p2 0.950 min 1.000 max 20.000 #規則性のあるベクトルを作成 #seq(12, 6, by = -2)と同じ seqR(range = c(12, 6), by = -2) [1] 12 10 8 6 #データフレームに指定した値を追加 MYDF <- data.frame(A = 5:3, B = 2:4) addRows(MYDF, 3) #下記コマンドと同じ #TestDF <- data.frame(matrix(rep("NA", 6), 3, 2)) #names(TestDF) <- names(MYDF) #rbind(MYDF, TestDF) A B 1 5 2 2 4 3 3 3 4 4 NA NA 5 NA NA 6 NA NA [/code]


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク