始めにグローバル環境のデータや変数を削除しておきます。(Clear R’s brain)
rm(list = ls())
library(tidyverse)# tidyverseのライブラリを使うのでプログラムの初めにこの行を書いておく
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.0 ✔ purrr 1.0.0
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.1 ✔ stringr 1.4.1
## ✔ readr 2.1.3 ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(lubridate)# tidyverseのライブラリにないので lubridateのパッケージを使うことを宣言
## 要求されたパッケージ timechange をロード中です
##
## 次のパッケージを付け加えます: 'lubridate'
##
## 以下のオブジェクトは 'package:base' からマスクされています:
##
## date, intersect, setdiff, union
houshanou <- read_csv("RAD_USB/2022111101_R.CSV")# 放射能の測定データを読み込み
## Rows: 21599 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): hiduke
## dbl (5): CNT, CPM, M_CPM, SOSU, kankaku
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
attach(houshanou)# 検索の変数名を登録
head(houshanou);
mean(houshanou$CPM);
## [1] 21.06986
sd(CPM)
## [1] 4.44328
seireki="2022";tsuki="11"
異なる年月のデータを利用するときにはここの設定を変更する
par(mfrow=c(2,1))
png(filename = paste("figure/houshanou_jikeiretsu_",seireki,"_",tsuki,".png"),width = 960,pointsize = 12)
plot(houshanou$CNT*4/60/60,houshanou$CPM,xlab="時刻",ylab="COUNT/min",main = paste(seireki,"年",tsuki,"月","環境放射能CPM",sep=""),col="red",type="l",lty=1,lwd=1)
par(new=T); # 画像を重ねる
abline(h=c(10,15,20,25,30,35,40,45),lty=2); abline(v=c(0,2,4,6,8,10,12,14,16,18,20,22,24),lty=2);
(dev.off()) # 画像を閉じる
## png
## 3
png(filename = paste("figure/houshanou_bougurafu_",seireki,"_",tsuki,".png"),width = 480,pointsize = 12)
(hist.default(houshanou$CPM,main=paste(seireki,"年",tsuki,"月","環境放射能カウント/分",sep=""),xlab="カウント/分")); dev.off() # 画像を閉じる
## $breaks
## [1] 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
##
## $counts
## [1] 14 127 329 895 1875 2950 3806 3719 3234 2134 1393 699 277 91 41
## [16] 12 3
##
## $density
## [1] 3.240891e-04 2.939951e-03 7.616093e-03 2.071855e-02 4.340479e-02
## [6] 6.829020e-02 8.810593e-02 8.609195e-02 7.486458e-02 4.940044e-02
## [11] 3.224686e-02 1.618130e-02 6.412334e-03 2.106579e-03 9.491180e-04
## [16] 2.777906e-04 6.944766e-05
##
## $mids
## [1] 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
##
## $xname
## [1] "houshanou$CPM"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
## png
## 3
summary(houshanou$CPM)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7.00 18.00 21.00 21.07 24.00 39.00
attach() # $を使った表示を使わずに変数を検索できるようにする
glimpse() # オブジェクトを覗いてみる
class() # objectの型を調べる
data <- ymd(hiduke) # 文字型から日付型に変更する lubridate
のパッケージを使うことにより文字型データの計算ができる
data <- hiduke[2]+5
data
hiduke[1]-hiduke[2] # 日数計算の仕方
以下は『Rで楽しむ統計』より アンケートの集計の仕方
data1 <- matrix(c(4,5,6,3,2,1,4,3,6,6),byrow=TRUE,nrow=2)
rownames(data1) <- c(“従来型”,“ICT利用”) # 行の名前
colnames(data1) <- c(“最悪”,“悪い”,“普通”,“良い”,“最高”) #
列の名前
ratio = data1 / rowSums(data1) * 100 # 列データ(5段階)のパーセント
barplot(t(ratio[2:1,]),horiz = TRUE, las = 1, xlab = “%”) #
t= ratio[1,] # Named num
mtext(colnames(data1),at=cumsum(t)-t/2)#
グラフに各変数(列名)を表示
data1 # コンソールに行列データ表示する
data2 <- matrix(c())
data2 <- matrix(c(chounouryoku\(Q_1_a,chounouryoku\)Q_1_i,chounouryoku\(Q_1_u,chounouryoku\)Q_1_e,
chounouryoku\(Q_2_a,chounouryoku\)Q_2_i,chounouryoku\(Q_2_u,chounouryoku\)Q_2_e,
chounouryoku\(Q_3_a,chounouryoku\)Q_3_i,chounouryoku\(Q_3_u,chounouryoku\)Q_3_e,
chounouryoku\(Q_4_a,chounouryoku\)Q_4_i,chounouryoku\(Q_4_u,chounouryoku\)Q_4_e,
chounouryoku\(Q_5_a,chounouryoku\)Q_5_i,chounouryoku\(Q_5_u,chounouryoku\)Q_5_e,
chounouryoku\(Q_6_a,chounouryoku\)Q_6_i,chounouryoku\(Q_6_u,chounouryoku\)Q_6_e,
chounouryoku\(Q_7_a,chounouryoku\)Q_7_i,chounouryoku\(Q_7_u,chounouryoku\)Q_7_e,
chounouryoku\(Q_8_a,chounouryoku\)Q_8_i,chounouryoku\(Q_8_u,chounouryoku\)Q_8_e,
chounouryoku\(Q_9_a,chounouryoku\)Q_9_i,chounouryoku\(Q_9_u,chounouryoku\)Q_9_e)
,byrow=TRUE,ncol=57, nrow = 36) data2 head(data2) data3 <- t(data2)
head(data3) edit(data3) rownames(data3) rownames(data3) <-
c(“幽霊”,“たたり”,““,”“,”“,”“,”“,”“,”“,”“)
colnames(data3) <-
c(”絶対にいる”,“いるんじゃないか”,“いないと思う”,“分からない”,
“絶対にある”,“あるんじゃないか”,“ないと思う”,“分からない”,
“絶対にいる”,“いるんじゃないか”,“いないと思う”,“分からない”,
“絶対に生きる”,“生きているんじゃないか”,“生きていないと思う”,“分からない”,
“絶対に神仏が決める”,“神仏が決めるんじゃないか”,“神仏が決めるのではないと思う”,“分からない”,
“おまじないをよくやる”,“おまじないをときどきやる”,“おまじないをすることはない”,“分からない”,
“占いで決めることがよくある”,“ときどき占いで決める”,“占いで決めることはあまりない”,“分からない”,
“絶対にいる”,“いるかもしれない”,“いない”,“分からない”,
“絶対願いをきく”,“願いをきくこともある”,“願いをきくとは思わない”,“分からない”)
ratio = data2 / rowSums(data2)*100
barplot(t(ratio[2:1,5]),horiz = TRUE, las = 1,xlab = “%”)
t= ratio[1,]
mtext(colnames(data1),at=cumsum(t)-t/2)