Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

120620 chred r_presentation2

866 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

120620 chred r_presentation2

  1. 1. R の基本操作 統計解析 時系列データの解析全球気象データ (NetCDF) の処理 初心者向け R 講座 縫村崇行 (NUIMURA, Takayuki) 環境学・雪氷研究室 R 勉強会 (CHERD) 2012/06/20 T. Nuimura 初心者向け R 講座
  2. 2. R の基本操作 統計解析 時系列データの解析 全球気象データ (NetCDF) の処理Outline 1 R の基本操作 コマンドの入力 グラフ作成 外部データの入出力 2 統計解析 統計処理 検定 3 時系列データの解析 4 全球気象データ (NetCDF) の処理 特定地域の解析 全球での解析 世界地図と相関結果のプロット T. Nuimura 初心者向け R 講座
  3. 3. R の基本操作 統計解析 時系列データの解析 全球気象データ (NetCDF) の処理R の作図例 T. Nuimura 初心者向け R 講座
  4. 4. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理R の起動と終了 R の起動 Windows:プログラムメニューから R を選択 Linux:ターミナルで R と入力 (大文字なのに注意) R の終了コマンド > q() # ワークスペースの保存についての質問は No で OK T. Nuimura 初心者向け R 講座
  5. 5. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理数値入力と変数 数値の計算 >2+3 [1] 5 >2ˆ8 [1] 256 変数 > temp.dc <- 10 > temp.dc [1] 10 > temp.df <- 9 / 5 * temp.dc + 32 > temp.df [1] 50 T. Nuimura 初心者向け R 講座
  6. 6. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (plot 関数) 1 変数のプロット > temp <- c(10, 20, 15, 25, 20, 20) > plot(temp) 25 20 temp 15 10 1 2 3 4 5 6 Index T. Nuimura 初心者向け R 講座
  7. 7. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (plot 関数) 2 変数のプロット > year <- c(2000, 2004, 2005, 2007, 2010, 2011) > plot(year, temp) 25 20 temp 15 10 2000 2002 2004 2006 2008 2010 year T. Nuimura 初心者向け R 講座
  8. 8. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (plot 関数) 2 変数のプロット > year <- c(2000, 2004, 2005, 2007, 2010, 2011) > plot(year, temp, type=“l”, col=“red”, xlim=c(1990, 2020), ylim=c(0, 30)) 30 25 20 temp 15 10 5 0 1990 1995 2000 2005 2010 2015 2020 year T. Nuimura 初心者向け R 講座
  9. 9. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (histogram 関数) ヒストグラムの作成 > hist(temp) Histogram of temp 3.0 2.5 2.0 Frequency 1.5 1.0 0.5 0.0 10 15 20 25 temp T. Nuimura 初心者向け R 講座
  10. 10. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (histogram 関数) 大量のデータのヒストグラム > hist(rnorm(10000)) Histogram of rnorm(10000) 1500 Frequency 1000 500 0 −4 −2 0 2 4 rnorm(10000) T. Nuimura 初心者向け R 講座
  11. 11. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理グラフの基礎 (histogram 関数) 大量のデータのヒストグラム > hist(rnorm(10000), col=“lightblue”, breaks=100) Histogram of rnorm(10000) 400 300 Frequency 200 100 0 −2 0 2 4 rnorm(10000) T. Nuimura 初心者向け R 講座
  12. 12. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理R で取り扱えるデータ 一般的なデータだと xls:csv に変換しといたほうが簡単 csv:簡単に読み込める txt:csv 以外の文字(タブ、スペースなど)区切りデータ dbf:GIS の属性テーブル情報を扱いたいときなど 画像データ:画像処理も 科学関連のデータでは GeoTiff:リモセンデータ Shapefile:GIS データ NetCDF:気候データで一般的 T. Nuimura 初心者向け R 講座
  13. 13. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理CSV データ読み込み データのある場所に移動 # Windows: C ドライブの r_lecture フォルダの場合 > setwd(“C:/r_lecture”) # Ubuntu: /home/username/r_lecture フォルダの場合 > setwd(“/home/username/r_lecture”) read.csv 関数 # 月平均気温 (2001–2010) のデータ、 > temp <- read.csv(“nagoya_temp.csv”) T. Nuimura 初心者向け R 講座
  14. 14. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理CSV データ加工 matrix 関数で 2 次元配列に変換 > temp.matrix <- matrix(temp[,2], 10, 12, byrow=T) # dim 関数で次元数のチェ ック > dim(temp.matrix) [1] 10 12 T. Nuimura 初心者向け R 講座
  15. 15. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理CSV データ出力 2 次元配列の列と行にラベルをつける # 列ラベルに月 > colnames(temp.matrix) <- 1:12 # 行ラベルに年 > rownames(temp.matrix) <- 2001:2010 2 次元配列を CSV に出力 > write.csv(temp.matrix, “temp_matrix.csv”) T. Nuimura 初心者向け R 講座
  16. 16. R の基本操作 コマンドの入力 統計解析 グラフ作成 時系列データの解析 外部データの入出力 全球気象データ (NetCDF) の処理NetCDF データ読み込み RNetCDF パッケージ # パッケージの読み込み > library(RNetCDF) # 今回使用するデータは 5◦ グリッド、 # 1850 Jan.–2011 Oct. の月別気温偏差 > nc <- open.nc(“CRUTEM3.nc”) > nc.data <- var.get.nc(nc, “temp”) # dim 関数で次元数のチェック > dim(nc.data) [1] 72 36 1942 ※次元数はそれぞれ、経度方向 (W180⇒E180)、緯度方向 (S90⇒N90)、時間 (1850 年から 160 年間 ×12 + 10) T. Nuimura 初心者向け R 講座
  17. 17. R の基本操作 統計解析 統計処理 時系列データの解析 検定 全球気象データ (NetCDF) の処理2 次元配列の計算 apply 関数で縦・横それぞれの計算 # 横方向、つまり年別の平均 > apply(temp.matrix, 1, mean) # 縦方向、つまり月別の平均 > apply(temp.matrix, 2, mean) mean 以外にも、sum、max、min、sd、summary なども。 T. Nuimura 初心者向け R 講座
  18. 18. R の基本操作 統計解析 統計処理 時系列データの解析 検定 全球気象データ (NetCDF) の処理t 検定 t.test 関数 # 2001 年と 2010 年の気温差を検定 > t.test(temp.matrix[1,], temp.matrix[10,]) t = -0.1723, df = 22, p-value < 0.8648 # 2001 年と 2010 年では有意な気温差なし # 2001–2010 の 1 月と 2 月の気温差を検定 > t.test(temp.matrix[,1], temp.matrix[,2]) t = -3.1955, df = 15.935, p-value < 0.005654 # 1 月と 2 月では有意な気温差あり T. Nuimura 初心者向け R 講座
  19. 19. R の基本操作 統計解析 統計処理 時系列データの解析 検定 全球気象データ (NetCDF) の処理無相関検定 cor.test 関数 # 2001 年と 2010 年の気温の相関 > cor.test(temp.matrix[1,], temp.matrix[10,]) t = 22.804, df = 10, p-value < 5.93e-10 cor 0.9905215 # 相関係数 0.99 の有意な相関 T. Nuimura 初心者向け R 講座
  20. 20. R の基本操作 統計解析 時系列データの解析 全球気象データ (NetCDF) の処理時系列データの解析の章は保科さんが担当します。内容 時系列データプロット Download 移動平均 Download 最小二乗法で線形回帰 Download 周波数解析 Download T. Nuimura 初心者向け R 講座
  21. 21. R の基本操作 特定地域の解析 統計解析 全球での解析 時系列データの解析 世界地図と相関結果のプロット 全球気象データ (NetCDF) の処理任意の地域のデータの取り出し 多次元配列データの取り出し方 # 2 次元配列の場合 # temp.matrix から 2003–2006 を抽出 > temp.matrix[3:6,] # 加えて、6–9 月を抽出 > temp.matrix[3:6, 6:9] 3 次元配列 (x, y, time) から、指定領域・期間を抽出するには、 matrix[x 範囲, y 範囲, time 範囲] T. Nuimura 初心者向け R 講座
  22. 22. R の基本操作 特定地域の解析 統計解析 全球での解析 時系列データの解析 世界地図と相関結果のプロット 全球気象データ (NetCDF) の処理meanRange.r スクリプトについて 配布した meanRange.r スクリプトでは 1 抽出する、緯度経度範囲、期間 (1850–2011) の間で指定 2 緯度、経度、年を配列番号に換算 3 NetCDF データから指定範囲・期間を抽出 4 指定範囲内の JJAS 平均を計算 5 計算結果を出力 Download T. Nuimura 初心者向け R 講座
  23. 23. R の基本操作 特定地域の解析 統計解析 全球での解析 時系列データの解析 世界地図と相関結果のプロット 全球気象データ (NetCDF) の処理年輪データと全球グリッドの相関 配布した corGlobal.r スクリプトでは 1 解析する期間 (1850–2011) の間で指定 2 年を配列番号に換算 3 NetCDF データから指定期間を抽出 4 指定範囲内の JJAS 平均を計算 5 年輪データ (CSV) 読み込み 6 グリッドごとに相関を計算 7 計算結果を出力 Download T. Nuimura 初心者向け R 講座
  24. 24. R の基本操作 特定地域の解析 統計解析 全球での解析 時系列データの解析 世界地図と相関結果のプロット 全球気象データ (NetCDF) の処理世界地図と相関結果のプロット 50 0 −50 −150 −100 −50 0 50 100 150 T. Nuimura 初心者向け R 講座

×