library(readr)
yosan <- read_csv("./data/yosan.csv")
## Rows: 7 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (1): 会計年度
##
## ℹ 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.
yosan[,]
dat <- yosan
収支 <- dat[,2]-dat[,3]
dat[,4] <- dat[,2]-dat[,3]
colnames(dat) <- c("会計年度","a:収入","b:支出","c:収支")
dat
「収入」、「支出」、「収支」のそれぞれの前にアルファベットを順に付ける。そうしないと、凡例でその順に表示されない。おそらく、文字コードの順になってしまう。
library(tidyr)
dat_ <- gather(dat,"key","value",-会計年度)
dat_
library(ggplot2)
ggplot(dat_,aes(x=会計年度,y=value,col=key))+
geom_line(size=1.5)+
geom_hline(yintercept=0,color="blue",size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="志井桜ヶ丘第二町内会", subtitle="2014-2020 単位:円")+
theme_minimal(base_family="HiraKakuProN-W3")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="志井桜ヶ丘第二町内会", subtitle="2014-2020 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_minimal(base_family="HiraKakuProN-W3")
library(ggplot2)
ggplot(dat_,aes(x=会計年度,y=value,col=key))+
geom_line(size=1.5)+
geom_hline(yintercept=0,color="blue",size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2020 単位:円")+
theme_minimal(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2020,1))
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2020 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2020,1))+
theme(axis.text.x=element_text(angle=30,hjust=1))
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2020 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2020,1))+
theme(axis.text.x=element_text(angle=0,hjust=0.5))
以下のような程度のデータであれば、直接に書き込む方がよいであろう。外部ファイルから読み込むのではなく。3行2列の行列が想定されている。
# 説明的な配列名を付ける
役員手当 <- c(222000,119190)
公園維持管理費 <- c(80000,64500)
防犯灯電気代 <- c(69000,48100)
# 行列hojokinの作成
hojokin <- matrix(0,3,2)
hojokin[1,] <- 役員手当
hojokin[2,] <- 公園維持管理費
hojokin[3,] <- 防犯灯電気代
# データフレームにする
# 行名、列名は自動的に生成する
hojokin <- as.data.frame(hojokin)
hojokin
# 行名をアルファベットに変更
rownames(hojokin) <- c("a","b","c")
# 減算をして負担額を計算
hojokin[,3] <- hojokin$V1 - hojokin$V2
# HTML形式のtableとして出力
knitr::kable(hojokin)
V1 | V2 | V3 | |
---|---|---|---|
a | 222000 | 119190 | 102810 |
b | 80000 | 64500 | 15500 |
c | 69000 | 48100 | 20900 |
# 描画(barplotによる)
par(family="HiraKakuProN-W3")
barplot(hojokin$V3, names.arg= c("役員手当","公園維持管理費","防犯灯電気代"),main="町内会負担額")
# 描画(ggplot2による)
hojokin$item <- c("a","b","c") # 列を追加
hojokin
ggplot(hojokin,aes(x=item,y=V3))+
geom_col(fill="grey80")+
labs(x="予算項目",y="金額",title="町内会負担額",subtitle="支出額から補助金を控除")+
scale_x_discrete(labels=c("役員手当","公園維持管理費","防犯灯電気代"))+
scale_y_continuous(breaks=c(0,25000,50000,75000,100000),labels=c("0","25,000","50,000","75,000","100,000"))+
theme_grey(base_family="HiraKakuProN-W3")
d21 <- c(2021,747407,619526)
yosan21 <- rbind(yosan,d21)
yosan21
dat <- yosan21
収支 <- dat[,2]-dat[,3]
dat[,4] <- dat[,2]-dat[,3]
colnames(dat) <- c("会計年度","a:収入","b:支出","c:収支")
dat
library(tidyr)
dat_ <- gather(dat,"key","value",-会計年度)
dat_
library(ggplot2)
ggplot(dat_,aes(x=会計年度,y=value,col=key))+
geom_line(size=1.5)+
geom_hline(yintercept=0,color="blue",size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
theme_minimal(base_family="HiraKakuProN-W3")
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_minimal(base_family="HiraKakuProN-W3")
library(ggplot2)
ggplot(dat_,aes(x=会計年度,y=value,col=key))+
geom_line(size=1.5)+
geom_hline(yintercept=0,color="blue",size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
theme_minimal(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2021,1))
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2021,1))+
theme(axis.text.x=element_text(angle=30,hjust=1)) # 目盛り右揃え(hjust=1)
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2021,1))+
theme(axis.text.x=element_text(angle=0,hjust=0.5)) # 目盛り中央揃え(hjust=0.5)
『初めてのRstudio』(オーム社)にscale_linetype_discrete
を使う以下と同様の例がある。
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))
labelsを外すと以下のようになる。アルファベットを付けた項目名が表示される。
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
scale_linetype_discrete(name="凡例")+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2021,1))+
theme(axis.text.x=element_text(angle=0,hjust=0.5)) # 目盛り中央揃え(hjust=0.5)
以下のコマンドを追加。縦軸の指数表記をやめる。
scale_y_continuous(breaks=c(-300000,0,300000,600000,900000),labels=c("-30万円","0","30万円","60万円","90万円"))+
ggplot(dat_,aes(x=会計年度,y=value,group=key))+
geom_point(size=1.5)+
geom_line(aes(linetype=key))+
geom_hline(yintercept=0,size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
scale_linetype_discrete(name="凡例",labels=c("収入","支出","収支"))+
theme_grey(base_family="HiraKakuProN-W3")+
scale_x_continuous(breaks=seq(2014,2021,1))+
scale_y_continuous(breaks=c(-300000,0,300000,600000,900000),labels=c("-30万円","0","30万円","60万円","90万円"))+
theme(axis.text.x=element_text(angle=0,hjust=0.5)) # 目盛り中央揃え(hjust=0.5)
以下のコマンドを追加。凡例の項目を書き換える。順序は変えていない。
scale_colour_discrete(name="凡例",labels=c("収入","支出","収支"))
library(ggplot2)
ggplot(dat_,aes(x=会計年度,y=value,col=key))+
geom_line(size=1.5)+
geom_hline(yintercept=0,color="blue",size=1,linetype="dashed")+
labs(col="凡例",x="会計年度",y="金額",title="単年度収支の推移",caption="○○町内会", subtitle="2014-2021 単位:円")+
theme_minimal(base_family="HiraKakuProN-W3")+
scale_y_continuous(breaks=c(-300000,0,300000,600000,900000),labels=c("-30万円","0","30万円","60万円","90万円"))+
scale_colour_discrete(labels=c("収入","支出","収支"))+
scale_x_continuous(breaks=seq(2014,2021,1))