LoginSignup
0
0

R を Ubuntu でインストールして csv からグラフを書く

Last updated at Posted at 2023-12-16

環境

  • Ubuntu 22.04
  • Ubuntu パッケージ版 R
    • Ver.4.1.2

公式パッケージを調べる

2023/12/16現在、最新のリリースは4.3.2だそうです。
https://www.r-project.org/
image.png

R のインストールについては、 「cran」なるところにアクセスするのだそうだ。

https://cran.r-project.org/
image.png

Ubunuの場合は以下のようにするそうだ。
image.png

しかしながら、今回は Ubuntu パッケージ版を使用していきます。

Ubunut パッケージ版をインストール

R の基本パッケージをインストールします。

$ sudo apt install r-base
以下の追加パッケージがインストールされます:
  bzip2-doc gfortran gfortran-11 icu-devtools libblas-dev libbz2-dev
  libgfortran-11-dev libicu-dev liblapack-dev libreadline-dev r-base-core
  r-base-dev r-base-html r-cran-boot r-cran-class r-cran-cluster
  r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass
  r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart
  r-cran-spatial r-cran-survival r-doc-html r-recommended
提案パッケージ:
  gfortran-multilib gfortran-doc gfortran-11-multilib gfortran-11-doc
  libcoarrays-dev liblapack-doc icu-doc readline-doc elpa-ess r-doc-info
  | r-doc-pdf r-mathlib texlive-fonts-extra texlive-latex-extra
以下のパッケージが新たにインストールされます:
  bzip2-doc gfortran gfortran-11 icu-devtools libblas-dev libbz2-dev
  libgfortran-11-dev libicu-dev liblapack-dev libreadline-dev r-base
  r-base-core r-base-dev r-base-html r-cran-boot r-cran-class r-cran-cluster
  r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass
  r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart
  r-cran-spatial r-cran-survival r-doc-html r-recommended
アップグレード: 0 個、新規インストール: 31 個、削除: 0 個、保留: 80 個。
77.3 MB のアーカイブを取得する必要があります。
この操作後に追加で 184 MB のディスク容量が消費されます。
続行しますか? [Y/n] 

結構ありますね

起動

$ R

とすると

R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
詳しくは 'contributors()' と入力してください。 
また、R や R のパッケージを出版物で引用する際の形式については 
'citation()' と入力してください。 

'demo()' と入力すればデモをみることができます。 
'help()' とすればオンラインヘルプが出ます。 
'help.start()' で HTML ブラウザによるヘルプがみられます。 
'q()' と入力すれば R を終了します。 

> 

となりました。

バージョンは 4.1.2 です。公式でリリースされたのは 2021-11-01 頃のものです。

dplyr パッケージをインストールする

時間のデータを扱うのに以下のパッケージをインストールします。

$ sudo apt install dplyr

とすると

以下の追加パッケージがインストールされます:
  fonts-font-awesome fonts-glyphicons-halflings fonts-mathjax
  libcmark-gfm-extensions0.29.0.gfm.3 libcmark-gfm0.29.0.gfm.3 libjs-bootstrap
  libjs-d3 libjs-es5-shim libjs-highlight.js libjs-jquery-datatables
  libjs-jquery-datatables-extensions libjs-jquery-selectize.js libjs-json
  libjs-mathjax libjs-microplugin.js libjs-modernizr libjs-prettify
  libjs-sifter.js libjs-twitter-bootstrap-datepicker libnlopt0 libnode72
.
.
.
r-cran-webutils r-cran-withr r-cran-wk r-cran-wkutils r-cran-xfun r-cran-xml
  r-cran-xml2 r-cran-xtable r-cran-xts r-cran-yaml r-cran-zoo
  ttf-bitstream-vera
提案パッケージ:
  fonts-mathjax-extras fonts-stix libjs-mathjax-doc npm texlive-xetex
  pandoc-citeproc texlive-latex-extra context wkhtmltopdf librsvg2-bin groff
  ghc python libjs-katex citation-style-language-styles r-cran-forcats
  r-cran-ggbeeswarm r-cran-ggridges r-cran-roxygen2 r-cran-aer r-cran-bbmle
  r-cran-car r-cran-cmprsk r-cran-coda r-cran-emmeans r-cran-epir r-cran-gam
  r-cran-gee r-cran-geepack r-cran-glmnet r-cran-gmm r-cran-irlba
  r-cran-lavaan r-cran-leaps r-cran-lmtest r-cran-lsmeans r-cran-metafor
  r-cran-network r-cran-ordinal r-c
.
.
.
r-cran-vdiffr r-cran-viridis r-cran-viridislite r-cran-waldo r-cran-warp
  r-cran-webutils r-cran-withr r-cran-wk r-cran-wkutils r-cran-xfun r-cran-xml
  r-cran-xml2 r-cran-xtable r-cran-xts r-cran-yaml r-cran-zoo
  ttf-bitstream-vera
アップグレード: 0 個、新規インストール: 306 個、削除: 0 個、保留: 80 個。
262 MB のアーカイブを取得する必要があります。
この操作後に追加で 624 MB のディスク容量が消費されます。
続行しますか? [Y/n]

うー、インストール処理を軽くしたいのでUbunutパッケージを使うことにしたのですが、これは仕方ないですね・・・・

R で csv から グラフを作る

元データ

このようなものです。

image.png
a

これを csv としてダウンロードすると以下のようになります。

,,,,,
測定者,@nanbuwks ,,,,
測定器,エステー エアカウンター,,,,
型番,校正番号 040008B0,,,,
測定方法,電源ON→5分静置→値読み取り,,,,
備考,一般家庭屋内 、2階、パソコンデスク上(床上110cm),,,,
,,,,,
,,,,,
,,,,,
場所,緯度経度,測定日時,測定値,単位,備考
東京都足立区,"35.80602760722601, 139.78767228418732",2023-08-24 10:15,0.05,μSV/h,
,,2023-08-12 15:12,0.05,,
,,2023-07-31 14:10,0.07,,
,,2023-07-30 15:58,0.05,,
,,2023-07-29 15:55,0.07,,
,,2023-07-28 18:25,0.09,,
,,2023-07-27 22:0,0.05,,
,,2023-07-21 11:55,0.1,,
,,2023-07-15 11:20,0.05,,
,,2023-07-14 22:5,0.1,,
,,2023-07-12 10:51,0.05,,
,,2023-07-11 23:24,0.09,,
.
.
.

まず、下準備として測定データ部分のみ取り出します。

tail +10 test3.csv | head -100 > test3-100.csv

これで、最新100件の測定データが得られました。

R にロード

まずは特に何も考えずに読み込みます。

> data <- read.csv("test3-100.csv")
> str(data)
'data.frame':	18 obs. of  6 variables:
 $ 場所    : chr  "東京都足立区" "" "" "" ...
 $ 緯度経度: chr  "35.80602760722601, 139.78767228418732" "" "" "" ...
 $ 測定日時: chr  "2023-08-24 10:15" "2023-08-12 15:12" "2023-07-31 14:10" "2023-07-30 15:58" ...
 $ 測定値  : num  0.05 0.05 0.07 0.05 0.07 0.09 0.05 0.1 0.05 0.1 ...
 $ 単位    : chr  "μSV/h" "" "" "" ...
 $ 備考    : logi  NA NA NA NA NA NA ...

測定日時のデータ型が chr となっているので、時間型に変換します。

> data <- dplyr::mutate(data, 測定日時 = as.POSIXct(測定日時,tz="Asia/Tokyo"))
> str(data)
'data.frame':	18 obs. of  6 variables:
 $ 場所    : chr  "東京都足立区" "" "" "" ...
 $ 緯度経度: chr  "35.80602760722601, 139.78767228418732" "" "" "" ...
 $ 測定日時: POSIXct, format: "2023-08-24 10:15:00" "2023-08-12 15:12:00" ...
 $ 測定値  : num  0.05 0.05 0.07 0.05 0.07 0.09 0.05 0.1 0.05 0.1 ...
 $ 単位    : chr  "μSV/h" "" "" "" ...
 $ 備考    : logi  NA NA NA NA NA NA ...

上記の処理はこちらを参考にさせていただきました。
https://mom-neuroscience.com/r-datatype/

グラフ化する

 > plot(data[[3]],data[[4]],xlab="Test",ylab="Test2",type="l")

としたら

image.png

となります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0