Skip to content

Instantly share code, notes, and snippets.

@mokjpn
mokjpn / NogizakaDemo.Rmd
Created November 15, 2018 14:49
Rでe-Statの統計表から都道府県別SMRを描く
---
title: "Rでe-Statの統計表から都道府県別SMRを描く"
output: html_document
---
このテキストでは、政府統計e-StatのAPIを使って、Rに直接統計表を読み込み、それを処理して特定の疾患(ICD-10に基づいた死因簡単分類で指定)の都道府県別の標準化死亡比(Standard Mortality Ratio, SMR)を算出し、その値によって都道府県を塗り分けた地図をかいてみます。すべてRの中だけで完結し、またプログラムの長さも短くて済んでいることに注目してください。
```{r, echo=FALSE, results='hide'}
appId <- "0000000000000000000000000000000000000000"
@mokjpn
mokjpn / ImaDokoStack.py
Last active April 12, 2018 02:36
Display ownTracks location on the M5Stack LCD.
from m5stack import lcd
from mqtt import MQTTClient
import time
import ujson
import ussl
import socket
import machine
MACHINE=hex(int.from_bytes(machine.unique_id(), 'big'))[2:]
@mokjpn
mokjpn / npuzzle.R
Last active June 22, 2017 15:55
同じ数の繰り返しで作られる数列について,そこに含まれる数を1つずつ使い、目的の数を作るための式を総当たりで求める
## 同じ整数の繰り返しである数列に含まれる数を1つずつ使い、目的の数を作るための式を総当たりで求める
## Usage: npuzzle(2,4,24) => (2,2,2,2)を1つずつ使って24を作るにはどうするか.
npuzzle <- function(num, nrep, target, twofuncs = list(
"*"=function(x,y){x*y},
"/"=function(x,y){x/y},
"+"=function(x,y){x+y},
"-"=function(x,y){x-y},
"^"=function(x,y){x^y}), onefuncs = list(
" "=function(x){x},
"factorial"=function(x){factorial(x)},
@mokjpn
mokjpn / ggRecruit.R
Created May 12, 2017 15:15
いわゆる目標症例数と症例登録の進捗状況のグラフを書いてみよう
## いわゆる目標症例数とリクルートの進捗状況のグラフ
# ダミーの日付データを作る
# リクルート日付は2014-01-01からの2年間からランダムに100日
dates <- as.Date("2014-01-01") + 365*2*runif(100)
# それぞれの日に10人までのランダムな人数がリクルートされたとするダミーデータ、100日分
number <- floor(10*runif(100))
# 1行1症例のデータセットのイメージ。登録日だけだけど。
@mokjpn
mokjpn / ggRecruit.R
Created May 12, 2017 15:15
いわゆる目標症例数と症例登録の進捗状況のグラフを書いてみよう
## いわゆる目標症例数とリクルートの進捗状況のグラフ
# ダミーの日付データを作る
# リクルート日付は2014-01-01からの2年間からランダムに100日
dates <- as.Date("2014-01-01") + 365*2*runif(100)
# それぞれの日に10人までのランダムな人数がリクルートされたとするダミーデータ、100日分
number <- floor(10*runif(100))
# 1行1症例のデータセットのイメージ。登録日だけだけど。
@mokjpn
mokjpn / ggRecruit.R
Created May 12, 2017 15:15
いわゆる目標症例数と症例登録の進捗状況のグラフを書いてみよう
## いわゆる目標症例数とリクルートの進捗状況のグラフ
# ダミーの日付データを作る
# リクルート日付は2014-01-01からの2年間からランダムに100日
dates <- as.Date("2014-01-01") + 365*2*runif(100)
# それぞれの日に10人までのランダムな人数がリクルートされたとするダミーデータ、100日分
number <- floor(10*runif(100))
# 1行1症例のデータセットのイメージ。登録日だけだけど。
## This gist is obsoleted. Refer https://github.com/mokjpn/Define2Validate/ for the new version.
library(R4DSXML)
library(testthat)
library(validate)
define2validate <- function(domain, file="exampleRules.yaml", definexml="Odm_Define.xml") {
varmd <- subset(getVarMD(definexml), IGD_Name == domain)
cat(file=file, append=FALSE, "")
out <- function(...) cat(file=file, append=TRUE, paste(...,"\n",sep=""))
@mokjpn
mokjpn / WikiTable2Dataframe.R
Created February 23, 2016 06:54
Read MediaWiki's WikiTable text and convert it into a R dataframe
# Read MediaWiki's WikiTable text and convert it into a dataframe
lines <- readLines(file.choose())
columns <- NULL
row <- NULL
df <- data.frame()
ncol <- 0
for(line in lines) {
if((m <- sub("^\\! *(.*)$", "\\1", line)) != line){
@mokjpn
mokjpn / Konashi-Grove-Temperature
Last active February 18, 2016 23:47
Read Temperature from GROVE analog Temperature Module.
(to name gist)
/* SpeedButton Sketch */
/* NeoPixel */
#include <Adafruit_NeoPixel.h>
// Digital pin to connect NeoPixel
#define PIN 0
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 16
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);