R

Rのinstall.packages でCのコンパイラの都合でうまくいかない場合の対処

R

Rのinstall.packages でCのコンパイラの都合でうまくいかない場合の対処 基本 ~/.R/Makevars を変えればよい。 例) CXX11 = g++ CXX14 = gcc など。 何を変えればいいかは、パッケージのソースをダウンロードしてきて、 src/Makevars をみて調べればよい。

R: Linux x11 端末 で日本語の文字化けを防ぐ

解決策: Rコンソールで X11(type="cairo") par(famly=" par(family="VL Gothic") #par(famly=" par(family="jiskan") とだけすればよかった。。 1行目が最大のポイントで、これに気づきのにどんだけかかったんだよ、、って感じ。。 familyのところのフォン…

foreachとoptpar でRプログロラムを並列化

R

foreachとoptpar でRプログロラムを並列化 16CPUを使う場合 エラーが出る場合はoutfile=""を消去するとうまくいく場合も library(parallel) library(foreach) library(doParallel) x<-1:100 y<-1:100 v<-list(x,y) slow_square = function(x) { Sys.slee…

Rcppとboostで微分方程式を解く

Rcppとboostで微分方程式を解く ををとく。 - cppファイル #include<Rcpp.h> #include <iostream> #include <array> #include <boost/numeric/odeint.hpp> using namespace Rcpp; namespace odeint = boost::numeric::odeint; using state_type = std::array< double, 1 >; //[[Rcpp::export]] NumericVector pow</boost/numeric/odeint.hpp></array></iostream></rcpp.h>…

Rcppで使ったファイルをコンパイル済みで利用する。パッケージ化

はじめに Rcppで作ったcppファイルをコンパイルしてから利用できるようにする。 パッケージ化が必要らしい。具体的には以下のように行う. パッケージを作る. skeleton 関数を利用する Rcpp::Rcpp.package.skeleton("myPackage",cpp_files="test.cpp") パッ…

Rで数値積分の続き。色々な積分手法を使う(コード例)

R

Rで数値積分の記事 https://arupaka-arupaka.hatenadiary.org/entry/2020/06/18/155816 を利用して、色々な積分をする。 マニュアル https://www.gnu.org/software/gsl/doc/html/integration.html コード例 ベータ分布の積分 Rでの実装。解析解。 諸事情でα…

RでC言語のgslを利用することで数値積分を早くする

R

Windowsの場合です。#gslの導入 コンパイルはうまくいなからgslのバイナリを http://www.stats.ox.ac.uk/pub/Rtools/libs.html wget local323.zip#1. 準備GSLのセットアップ ##(1-1) GSLのバイナリをのダウンロード ここからgslのバイナリをいただく http:/…

Rで厳密な連検定。 exact runs test

R

Rで厳密な連検定。 exact runs test 正規分布近似を使わない場合。 両側検定にするのが微妙にむずい。 https://ncss-wpengine.netdna-ssl.com/wp-content/themes/ncss/pdf/Procedures/NCSS/Analysis_of_Runs.pdf の5ページを参考にする install.packages("r…

rstan で回帰 連続変数のカテゴリ化バージョン

rstan で回帰 連続変数のカテゴリ化バージョン data { int N; int K; int C; // int G; matrix[N,K] X; int y[N]; int start_flg[K]; int order_flg[K]; //int group[N]; int Level_no; //number of room int m[N]; } parameters{ real a; vector<lower=-5,upper=5>[K-C] b; //</lower=-5,upper=5>…

多変量回帰のチェック

R

多変量回帰で共通した情報を持つ場合は、 共通した情報程度の係数になる。 ただし、AIC Step wise などを使うとノイズによって 不安定になり、片方に集中することも。。 Ridge回帰なら両方の変数を選んでくる。例えば、 a1=情報1+0.2情報2 a2=情報1+0.3情…

Rstan を変な環境にインストール

その1:processxで詰まる。 (1)ソースをもってくる。 (2)ソースを展開して、一つ一つ下のようにビルド。 (3)ソースを圧縮、Rに読ませる。install.packages("processx.tar",repos=NULL,type="source") 他は、processx-vector.c はg++に変えるとかで対処で…

Rで %in%  リストの要素が存在するかのチェック

R

リストの要素が存在するかのチェックできる。便利。 y<-c(1,2,3) x<-c(1,2,2,3,4) x %in% y出力。 TRUE TRUE TRUE TRUE FALSE 応用、ある特定の列名をデータフレームから除く dat <- dat[, !(colnames(dat) %in% c("X", "Y", "Z"))]http://rmecab.jp/wiki/in…

RStan でカテゴリカル変数の単回帰2

data { int N; int K; matrix[N,K] X; vector[N] y; } parameters{ real a; vector[K] b; real<lower=0> sigma; //vector<lower=0>[K] sigma2; real<lower=0>[K] sigma2; } transformed parameters{ vector[N] mu; mu=X*b+a; // mu=X*b; } model{ //b ~ normal(0,sigma2); b ~ double_ex</lower=0></lower=0></lower=0>…

多変量回帰と相関

多変量解析では、 (0)単独変数の調整 (0-1)カテゴリ化すると楽 cut関数 (0-2)少なすぎる変数の除去 (1)説明変数間の相関を調べる →とりあえず、主要っぽい変数を10個くらいとりだすとわかりやすい http://kusanagi.hatenablog.jp/entry/2014/07/23/2…

Rでgroup lasso の実験 一般化線形モデルの正則化

R

x1<-sample(1:100) x2<-sample(1:100) y<-2*x1+0.01*x2+rnorm(100) p<-data.frame(y,x1,x2) lm(y~x1+x2,data=p) f<-function(r){ sum((y-r[1]*x1-r[2]*x2)^2) } optim(c(1,3),f) ##Lasso f2<-function(r){ sum((y-r[1]*x1-r[2]*x2)^2)+20000*sum(abs(r)) } o…

EXELEファイルのRの読み込み。着工件数の年次データをえる

R

特定の都道府県の賃貸物件の着工数をえる。 国交省の【住宅】利用関係別 構造別 建て方別 都道府県別 戸数 (Excel ファイル 3,225KB) をダウンロード http://www.mlit.go.jp/sogoseisaku/jouhouka/sosei_jouhouka_tk4_000002.htmlreadxlパッケージの利用 htt…

RStan でカテゴリカル変数の単回帰

係数の和=0の制約をいれる場合。 ##Fit with categorical variable 2 x0<-sample(1:4,100,replace=T) library(dummies) x<-dummy(x0) x1<-x[,1] x2<-x[,2] x3<-x[,3] x4<-x[,4] a1<-2 a2<--2 a3<-10 a4<--10 y<-a1*x1+a2*x2+a3*x3+a4*x4+rnorm(100,sd=0.03…

ruby でJIS第2水準までかの判定

R

ruby で文字列がJIS第2水準までかの判定 #-*= coding: utf-8 -*- def check_jis_dai2made_only? str begin puts "start" str_euc=str.encode("EUC-JP","UTF-8") rescue => eq puts eq return false end str_euc.split("").each{|s| #s2=s.unpack("H*")[0].t…

Rmarkdown で日本語PDF

R

Rmarkdown で日本語PDF。 かなりはまる。 Windows7 https://qiita.com/Atsushi776/items/9ef1e5d744e2b91c61ee(1)Texlive をインストール →インストーラは途中失敗するので、isoイメージからダウンロードして使うのがよい(.iso) (2)RStudio のインストール (…

Rで等高線 軸に文字をいれる contour image

R

http://d.hatena.ne.jp/myopomme/20111214/1323865945

Rで等高線など3軸データのプロット

R

Rで等高線など3軸データのプロット ## d<-data.frame(y=tmp2$LIFE_TIME,x1=tmp2$TINRYOU,x2=tmp2$TIKUNENSUU) d2<-d%>% dplyr::filter(x2<=25 & x1<=10^5) %>% dplyr::group_by(x1=10000*round(x1/10000),x2=2*round(x2/2)) %>% dplyr:: summarise(y=mean(y…

Rでgroup lasso 2  grpregの利用

R

とりあえず。 https://cran.r-project.org/web/packages/grpreg/vignettes/quick-start.pdf grpreg パッケージの利用 ##2018.05.22 ##Dummy test x<-factor(c("M","M","F")) dummy(x) y<-factor(c("A","B","A")) dummy(y) dummy.data.frame(data.frame(x,y),…

Rでgroup lasso

R

Rでgroup lasso xx b c y x #install.packages("grplasso") library("grplasso")dataans coef(ans)

ggplot2で時系列的なデータを2つ並べた図を作る例。図を並べる

ggplot2で時系列的なデータを2つ並べた図を作る例。図を並べる x1a<-cumsum(rnorm(1000,mean=0,sd=1)) x1b<-cumsum(rnorm(1000,mean=0,sd=1)) m1<-seq(0,2,length.out=length(x1a)) y1<-x1a*m1 y2<-x1b z1<-x1a z2<-x1b/m1 x1<-1:length(y1) set1<-factor(c…

Rmpfrのインストール (オフライン)

R

Rmpfrのインストール (オフライン)は結構めんどくさい。 (1)まず、ネイティブのGMPのライブラリのインストール データをとって、リモートにおくる >|ruby| wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2 scp gmp_6*.tar.bz2 xxx@yyy: |

Rstanをソースからインストール(オフラインで)

R

miniCRANを使えばオフラインインストールは簡単らしい。→うまくかない。 https://cran.r-project.org/web/packages/miniCRAN/vignettes/miniCRAN-introduction.html https://blog.recyclebin.jp/archives/4587install.packages("devtools") https://stackove…

Rstanの練習2

R

Rstanの練習 ランダムウォークの誤差分散の推定、MA形。 Rのコード library("rstan") ep<-rnorm(105, mean=0,sd=1) theta<-(1:1000)^-0.5 y<-NULL for(i in 1:100){ y[i]<-sum(theta[1:(i)]^0*ep[i:1]) } #y<-rpois(100,lambda=30) data <- list(T = 100, y …

Rでレコードリンケージ データ紐付け データ融合

R

とりあえずの例 RecordLinkage パッケージ チュートリアル https://journal.r-project.org/archive/2010-2/RJournal_2010-2_Sariyar+Borg.pdf マニュアル https://cran.r-project.org/web/packages/RecordLinkage/RecordLinkage.pdfわかりやすい例 > library…

Rでスペクトル解析

Rでスペクトル解析。 正弦波以外の周期をもった波が倍音が出力されることに注意 例1)正弦波 30日周期 x*1 例2)30日周期のイベント(倍音がでる) x plot(x) spec.pgram(x,c(10,10)) https://jp.mathworks.com/help/signal/examples/practical-introd…

Rでガウスの超幾何関数 hypergeometric function

Rでガウスの超幾何関数を計算する。 hypergeo 関数は一部パラメータでバグがあるのでgslの超幾何関数でおきかえる。 ただし、gslの超幾何関数は複素数に解析接続されていないので、そこはhypergeoを使う。 library("hypergeo") library(gsl) library("BAS") …