[,1]
2020-01-01 116.33
2020-04-01 99.16
2020-07-01 93.44
2020-10-01 89.68
2021-01-01 110.65
2021-04-01 129.66
2021-07-01 139.84
2021-10-01 148.29
1. download cli from this url
1.1 change downloaded file name to CLI3.csv
1.2 ~/R/R2/index/cli_download.sed run at the terminal.
sed -n '/USA/p' CLI3.csv |awk -F, '{print $6"-01,"$7}' |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > usa.csv
# extract OECD entries and exclude OECDE
sed -n '/OECD[^E]/p' CLI3.csv |awk -F, '{print $6"-01,"$7}' |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > oecd.csv
#
sed -n '/CHN/p' CLI3.csv |awk -F, '{print $6"-01,"$7}' |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > chn.csv
#
sed -n '/EA19/p' CLI3.csv |awk -F, '{print $6"-01,"$7}' |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > ea19.csv
#
sed -n '/JPN/p' CLI3.csv |awk -F, '{print $6"-01,"$7}' |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > jpn.csv
1.3 run cli_load.r in R.
2.when cli is downloaded form this url
2.1. do as below in terminal change FILE_NAME accordingly.
grep "OECD - Total" <FILE_NAME>.csv | grep LOLITOAA |gawk -F, 'BEGIN{print "c("}{print $(NF-2)","}END{print ") " }' | tr -d "\n" | sed 's/,)/)/'
output is like
c(100.1448,100.0088,99.88226,99.7745,99.68903,99.62392,99.56622,99.5041,99.44289,99.39536,99.37106,99.38042,99.41794,99.46317,99.49193,99.47968,99.41767,97.69222,93.17708,94.81512,97.03869,98.08919,98.53291,98.79954)
> length(c(100.1448,100.0088,99.88226,99.7745,99.68903,99.62392,99.56622,99.5041,99.44289,99.39536,99.37106,99.38042,99.41794,99.46317,99.49193,99.47968,99.41767,97.69222,93.17708,94.81512,97.03869,98.08919,98.53291,98.79954) )
[1] 24
# start and end dates are fixed. caution!
seq( as.Date(mondate(Sys.Date())-24)-day(mondate(Sys.Date()))+1,as.Date(mondate(Sys.Date())-1),by='months' )
>seq( as.Date(mondate(Sys.Date())-24)-day(mondate(Sys.Date()))+1,as.Date(mondate(Sys.Date())-1),by='months' )
[1] "2018-10-01" "2018-11-01" "2018-12-01" "2019-01-01" "2019-02-01" "2019-03-01" "2019-04-01" "2019-05-01" "2019-06-01"
[10] "2019-07-01" "2019-08-01" "2019-09-01" "2019-10-01" "2019-11-01" "2019-12-01" "2020-01-01" "2020-02-01" "2020-03-01"
[19] "2020-04-01" "2020-05-01" "2020-06-01" "2020-07-01" "2020-08-01" "2020-09-01"
2.2. do as below in R
as.xts(c(100.1448,100.0088,99.88226,99.7745,99.68903,99.62392,99.56622,99.5041,99.44289,99.39536,99.37106,99.38042,99.41794,99.46317,99.49193,99.47968,99.41767,97.69222,93.17708,94.81512,97.03869,98.08919,98.53291,98.79954), seq( as.Date(mondate(Sys.Date())-24)-day(mondate(Sys.Date()))+1,as.Date(mondate(Sys.Date())-1),by='months' ))
2.3. alternatively do as below
grep "OECD - Total" <FILE_NAME>.csv | grep LOLITOAA |gawk -F, 'BEGIN{print "as.xts(c("}{print $(NF-2)","}END{print "), seq( as.Date(mondate(Sys.Date())-24)-day(mondate(Sys.Date()))+1,as.Date(mondate(Sys.Date())-1),by=\"months\" )) " }' | tr -d "\n" | sed 's/,)/)/'
全てのcsvを0 length にする。
$ for i in *.csv ; do cat /dev/null > $i; done
無限ループ。「while : (コロン)」で無限ループになる。
$ while : ; do echo 'hello'; sleep 10 ; done
Don't forget "col=" in the parameters. it's not scatterplot3d!!
library(rgl)
len <- dim(mdf)[1]
x3d <- c()
for(i in seq(1,47,1)){ x3d <- append(x3d,rep(i,len))}
z3d <- c()
for(i in seq(1,47,1)){ z3d <- append(z3d,dmdf[,i])}
y3d <- as.integer(gsub('-','',as.character(dmdf$t)))
# aichi 23, osaka 27, fukuoka 40, tokyo 13.
# color <- c(rep("grey",12*len),rep("orange",len),rep("grey",9*len),rep("pink",len),rep("grey",3*len),rep("yellow",len),rep("grey",12*len),rep("green",len),rep("grey",6*len),rep("red",len))
par(bg = 'grey25', fg = 'white',col.axis = 'white',col.lab='white')
y3d <- seq(1,len,1)
# plot3d(x3d,rep(y3d,47),z3d,col = color, type = "h", pch = " ",zlim=c(0, max(dmdf[,-48])))
plot3d(x3d,rep(y3d,47),z3d,col = as.vector(matrix(rep(rainbow(47),len),ncol=47,byrow=t)), type = "h", pch = " ",zlim=c(0, max(dmdf[,-48])))
==
use same data.frame mdf as the previous entry.
library("scatterplot3d")
len <- dim(mdf)[1]
x3d <- c()
for(i in seq(1,47,1)){ x3d <- append(x3d,rep(i,len))}
z3d <- c()
for(i in seq(1,47,1)){ z3d <- append(z3d,mdf[,i])}
# scatterplot3d(x3d,rep(mdf$t,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,500))
y3d <- as.integer(gsub('-','',as.character(mdf$t)))
# scatterplot3d(x3d,rep(y3d,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,500))
color <- c(rep("black",12*len),rep("orange",len),rep("black",13*len),rep("yellow",len),rep("black",12*len),rep("green",len),rep("black",7*len))
# scatterplot3d(x3d,rep(y3d,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,30),angle = 65)
scatterplot3d(x3d,rep(y3d,47),z3d,color, type = "h", pch = " ",zlim=c(0, max(mdf[,-48])),angle = 65,col.grid="grey")
when mdf is like below
head(mdf,2)
Hokkaido Aomori Iwate Miyagi Akita Yamagata Fukushima Ibaraki Tochigi Gunma Saitama Chiba Tokyo Kanagawa Niigata Toyama
1 10 0 0 0 0 0 0 0 0 0 6 2 2 0 3 0
2 8 0 0 0 0 0 0 0 0 2 3 2 2 3 0 0
Ishikawa Fukui Yamanashi Nagano Gifu Shizuoka Aichi Mie Shiga Kyoto Osaka Hyogo Nara Wakayama Tottori Shimane Okayama
1 0 0 0 0 0 1 7 5 0 2 9 8 0 0 0 0 0
2 0 0 0 0 0 0 3 0 0 0 3 13 0 0 0 0 0
Hiroshima Yamaguchi Tokushima Kagawa Ehime Kochi Fukuoka Saga Nagasaki Kumamoto Oita Miyazaki Kagoshima Okinawa
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 1 0 0 0 0 0 0
t
1 2020-03-12
2 2020-03-13
do as below
library("scatterplot3d")
len <- dim(mdf)[1]
x3d <- c()
for(i in seq(1,47,1)){ x3d <- append(x3d,rep(i,len))}
z3d <- c()
for(i in seq(1,47,1)){ z3d <- append(z3d,mdf[,i])}
# scatterplot3d(x3d,rep(mdf$t,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,500))
y3d <- as.integer(gsub('-','',as.character(mdf$t)))
# scatterplot3d(x3d,rep(y3d,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,500))
scatterplot3d(x3d,rep(y3d,47),z3d,highlight.3d = TRUE, type = "h", pch = " ",zlim=c(0,500),angle = 65)