タグ

Rに関するhikazohのブックマーク (37)

  • AJAXサイトを Webスクレイピングする(銀行金利をスクレイピング) - ほくそ笑む

    共同で翻訳したが出版されます。 『Rによる自動データ収集 ―Webスクレイピングとテキストマイニングの実践ガイド』 Rによる自動データ収集: Webスクレイピングとテキストマイニングの実践ガイド 作者: Simon Munzert,Christian Rubba,Peter Meissner,Dominic Nyhuis,石田基広,工藤和奏,熊谷雄介,高柳慎一,牧山幸史出版社/メーカー: 共立出版発売日: 2017/06/08メディア: 単行この商品を含むブログ (1件) を見る 書は、原題 "Automated Data Collection with R" の翻訳書です。 今日は、書の6章から「AJAX サイトを Web スクレイピングする」という話を紹介したいと思います。 AJAX サイトを Web スクレイピングする 銀行の金利が低い時代ですが、キャンペーンなどで一時的に定

    AJAXサイトを Webスクレイピングする(銀行金利をスクレイピング) - ほくそ笑む
  • 残りの私たちにとって、Rが最高のプログラミング言語である理由 | POSTD

    訳注:2017/5/23、いただいた翻訳フィードバックをもとに記事を修正いたしました。 私はRを使用して6年以上になります。Rとの最初の出会いは、財政学におけるモンテカルロシミュレーションの博士課程の時で、紹介してくれたのはWolfgang Hörmannでした。プログラミング言語に関しては、それ以前にもいくつか使ったことがあり、最後のものはC++(これも私は大好きです)でしたが、それらのどれもRほど 便利 ではありません。 残りの私たちにとってRが最高の言語である理由をリストアップする前に、まず “残りの私たち” の定義を明確にしておきましょう。残りの私たちとは、ExcelユーザやSPSSユーザ、そしてコンピュータサイエンス(CS)界の外にいる人々(*)、つまり簡潔さを目指して努力しながら、同時にパワーと柔軟性を追求する “プログラムの利用者” のことです。Rは、そんな 私たち にとって

    残りの私たちにとって、Rが最高のプログラミング言語である理由 | POSTD
    hikazoh
    hikazoh 2017/04/16
  • [R] 実録・手作業で行なっていた集計・グラフ化作業をRで自動化した話(Tips編) | DevelopersIO

    はじめに 先日は概要編と称して主にエクセルを用いて手作業で実施していた集計・グラフ化作業をRを用いてスクリプトで管理する体制に移行した概要を記述しました。 今回はTips編と称して、集計・グラフ化作業をRのスクリプト化するにあたって役に立ったTipsを10個紹介します。 Table of contents ライブラリが入っていなかったらインストールする ディレクトリが無かったら作成 特定の離散値しかとらないカラムに対してカウント数0も含めて集計 データフレームの因子データを一括で数値データに変換 データフレームをライブラリを用いてエクセルファイルとして出力 グラフの判例を枠外に出す グラフ内の日語文字化けを直す 対散布図と相関の度合いをライブラリを用いてグラフで出力 調査を重ねるにつれて変化するCSVスキーマの差分吸収 SELECT 集約関数 FROM テーブル GROUP BY カラム

    [R] 実録・手作業で行なっていた集計・グラフ化作業をRで自動化した話(Tips編) | DevelopersIO
    hikazoh
    hikazoh 2017/03/13
  • Pythonの練習

    Pythonの練習 ブログ記事 R vs Python:データ解析を比較を読みつつ、Pythonの練習を少し。 $ brew install python3 $ pip3 install --upgrade pip setuptools $ brew linkapps python3 $ pip3 install pandas $ pip3 install seaborn $ pip3 install sklearn $ wget https://www.dropbox.com/s/b3nv38jjo5dxcl6/nba_2013.csv?dl=0 import pandas import seaborn as sns import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.decomp

    Pythonの練習
  • 米MicrosoftがR言語ディストリビューション「Revolution R Open」を改名、最新版を来週リリースへ | OSDN Magazine

    Microsoftは1月12日、買収した米Revolution Analyticsがオープンソースで開発しているRディストリビューション「Revolution R Open(RRO)」を「Microsoft R Open(MRO)」と改名することを発表した。新名称の下で最初にリリースされる次期版(バージョン 3.2.3)は1月19日に公開予定となっている。RROと同様に無料で提供するとしている。 Microsoftは、統計解析向けのR言語実装を提供する米Revolution Analyticsの買収を2015年4月に完了、その後R言語の統合をSQL ServerやPowerBI、Azure、Cortana Analyticsなどの製品で進めてきた。今回、Revolution Rについて今後の方針を発表した形となる。 オープンソースのRevolution R Open(RRO)はMicro

    米MicrosoftがR言語ディストリビューション「Revolution R Open」を改名、最新版を来週リリースへ | OSDN Magazine
  • R言語でWebアプリケーションを作るためのチュートリアルを翻訳しました - ほくそ笑む

    RStudio社が開発した Shiny パッケージは、R言語で簡単に Web アプリケーションを作るためのフレームワークを提供します。 Shiny この Shiny による Web アプリケーションの開発方法を学ぶには、公式のチュートリアルを読むのが一番です。 Shiny - Tutorial しかし、公式は英語なので、読むのがしんどいです。 そこで、チュートリアル全文を日語に翻訳しました。 訳文は Qiita で公開しています。このページは目次として活用していただければと思います。 Shiny チュートリアル目次 7 つのレッスンからなるこのチュートリアルは、R プログラマを Shiny 開発者へと導きます。 1 つのレッスンは 20 分ほどで終了し、各レッスンごとに新しい Shiny スキルを 1 つ学ぶことができます。 すべてのレッスンを終えたとき、あなたは Shiny アプリを構

    R言語でWebアプリケーションを作るためのチュートリアルを翻訳しました - ほくそ笑む
  • データサイエンティストを目指すというかデータ分析を生業にするなら読んでおきたい初級者向け5冊&中級者向け12冊(2015年冬版) - 渋谷駅前で働くデータサイエンティストのブログ

    (Photo via VisualHunt) 追記 2017年3月現在の最新書籍リストはこちらです。 最近になってまた色々とデータサイエンティストを目指す人向けのお薦め書籍リストとか資料リストとかが出てきてるんですが、個人的には何かと思うところがあるので僕も適当にまとめておきます。偏りありまくり、完全に主観で決めたリストなので文句が出まくるかと思いますが、もはや毎回のことなのでご容赦を。 なおこちらのリストはあくまでもビジネスの現場でデータ分析を生業にする(しようとしている)人たち向けのものであり、研究者含めたガチ勢の方々向けのものではありませんのでどうか悪しからずご了承下さい。 ちなみに毎回言ってますが、アフィリエイトは全くやっていないのでここに貼られたリンクを踏んで皆さんが購入されても僕の懐には一銭も入りません。拙著だけはそもそも例外ですが(笑)。*1 初級者向け5冊 一応初級者向けと

    データサイエンティストを目指すというかデータ分析を生業にするなら読んでおきたい初級者向け5冊&中級者向け12冊(2015年冬版) - 渋谷駅前で働くデータサイエンティストのブログ
  • R言語で複数ファイルにわかれたデータを1つのdata.frameに一括で読み込む その2 - かずきのBlog@hatena

    blog.okazuki.jp 先日書いた記事にReduce使うとRらしいよ!っていうコメントいただいたので試してみました。 x <- Reduce(rbind, lapply(list.files(pattern = "namelist[0-9].csv"), read.csv)) これで、ファイル名のリストをとってきて、data.frameに変換して結合してくれるとか素敵。

    R言語で複数ファイルにわかれたデータを1つのdata.frameに一括で読み込む その2 - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語でHello world - かずきのBlog@hatena

    そういえばやってなかった。 print関数で出力できるっぽいです。 print("Hello world") で以下のように出力されます。 [1] "Hello world" Hello worldを出力するgreet関数は以下のような感じで定義できます。 greet <- function() { print("Hello world") } greet() 出力結果は当然同じです。関数の定義は関数を変数に代入(<-)するという形で定義するみたいですね。

    R言語でHello world - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語でHello world その2 - かずきのBlog@hatena

    名前指定してHello ○○!ってしてみたいですよね。ということでやってみました。 greet <- function(name) { print(sprintf("Hello %s!", name)) } greet("tanaka") 引数はこんな感じで定義できます。sprintfで書式付き文字列で文字列を組み立ててprintで表示してます。 実行結果は以下のような感じ [1] "Hello tanaka!"

    R言語でHello world その2 - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語で関数呼び出し時の引数の仕方 - かずきのBlog@hatena

    Rで関数を呼び出すときは、引数を順番通りに指定することができます。 そのほかに名前で指定することもできる。例えば以下のように。 greet <- function(name) { print(sprintf("Hello %s!", name)) } greet(name = "tanaka") ちなみに、関数の引数はデフォルト値を持たせることもできる。 greet <- function(name = "default") { print(sprintf("Hello %s!", name)) } greet() ふむ。便利。

    R言語で関数呼び出し時の引数の仕方 - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語で戻り値 - かずきのBlog@hatena

    R言語で関数に戻り値つけたかったらreturn()をすればいいみたい。 calc.add <- function(x, y) { return(x + y) } print(calc.add(10, 2)) これで、12と表示される。

    R言語で戻り値 - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語でif else文とか - かずきのBlog@hatena

    if文とかもちゃんとあるんですね。 judge <- function(x) { if (x == 10) { print("ten!!!") } else if(x == 8.1) { print("update ten!!") } else { print("...") } } judge(10) judge(8.1) judge(7) if (条件) { } else { }でさくっと書けます。実行結果は以下のような感じ。 [1] "ten!!!" [1] "update ten!!" [1] "..."

    R言語でif else文とか - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語のifelse - かずきのBlog@hatena

    ExcelのIF文みたいに使えます。 ifelse(1==1, print("true case"), print("false case")) ifelse(1!=1, print("true case"), print("false case")) 実行すると以下のような感じ。 [1] "true case" [1] "false case" ベクトルに対しても使える点が便利っぽいです。 val <- c(1,2,3,1,2,3,1,2,3) x <- ifelse(val==1, "true case", "false case") print(x) 実行すると以下のような結果になります。 [1] "true case" "false case" "false case" "true case" "false case" "false case" "true case" "false

    R言語のifelse - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語で文字列を分割したい - かずきのBlog@hatena

    stringrパッケージにある、str_splitでできます。第一引数に分割したい文字列、patternに分割する区切りを表す正規表現を指定できます。カンマか-で分割したい場合は以下のような感じになります。 require(stringr) x <- "a,b,c-d-e-f" y <- str_split(x, pattern = ",|-") print(y) 実行結果 [1] "a" "b" "c" "d" "e" "f"

    R言語で文字列を分割したい - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語のベクトル - かずきのBlog@hatena

    同じ型をまとめて管理するものでc()関数で作るらしい。 x <- c(1,2,3,4,5) print(x) 出力結果 [1] 1 2 3 4 5 1~5みたいに規則性のあるものは、開始:終了といった感じでかけるみたい。 x <- 1:5 print(x) 出力結果は同じ。 Rはベクトルに対する演算が便利になってる。具体的にいうと単純に掛け算をするだけで、全要素に掛け算をしてくれる。ループいらない! x <- 1:5 x <- x * 10 print(x) 出力結果 [1] 10 20 30 40 50 ベクトル同士の掛け算もOK。同じ長さなら単純に掛け合わせて、違う長さなら短い方を再利用しながら掛け算してくれる。 x <- c(1,2,3) y <- c(10,20,30) z <- x * y print(z) 出力結果 [1] 10 40 90 長さの違うもの同士の掛け算のケース

    R言語のベクトル - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語で偏差値って - かずきのBlog@hatena

    はぁ…数学苦手…。 R言語って統計解析がお得意なんですって。 すべての数字を合計して数で割った平均と、ソートして真ん中の値を取り出す中央値くらいは知ってるけどそれ以上はちょっと…という感じですね。 平均と中央値を出す関数はmeanとmedianという関数として用意されてます。 x <- 1:100 print(mean(x)) # 平均 print(median((x))) # 中央値 んで、次に出てくるのが分散ってやつらしいです。分散って名前からわかる通り、どれくらい値が散らばってるの?というものらしい。求め方は、各値から平均値を引いて2乗して、要素数で割る。R的に書くとこんな感じ。 x <- 1:100 v <- sum((x - mean(x))^2) / length(x) print(v) 実行するとこんな感じ。 [1] 833.25 個人的にはこれを見てもぱっとどれくらい分散し

    R言語で偏差値って - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • R言語で相関係数 - かずきのBlog@hatena

    2つの数字データがあって、相関ってあるの?っていうのが知りたい。そんなときに使えるのが相関係数というものみたいです。 相関係数を求める前に共分散というのを求める必要があります。共分散というのは、2つのデータの偏差(平均と引いた数)を掛け算して平均をとったものみたいです。R的に書くとこんな感じ。 x <- 1:10 y <- 101:110 z <- mean((x - mean(x)) * (y - mean(y))) 1~10と101~110までという、とても強い正の相関を持った数字で試してみました。zが共分散です。zには8.25というとても数字が入りました。数字的にも正の相関がありそうですね。 共分散だと、同じような相関のありそうなデータでも単位が変わると値が変わっちゃうという欠点があります。 x <- c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)

    R言語で相関係数 - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/13
  • RでJOINしたい - かずきのBlog@hatena

    merge関数を使う > x <- data.frame(id = c(1,2,3), name = c("a", "b", "c")) > y <- data.frame(id = c(1,2,3,4), age = c(12, 10, 11, 9)) > merge(x, y, "id") id name age 1 1 a 12 2 2 b 10 3 3 c 11 > merge(x, y, "id", all = T) id name age 1 1 a 12 2 2 b 10 3 3 c 11 4 4 <NA> 9 > 参考 d.hatena.ne.jp

    RでJOINしたい - かずきのBlog@hatena
    hikazoh
    hikazoh 2015/12/08
  • R言語で複数ファイルにわかれたデータを1つのdata.frameに一括で読み込む - かずきのBlog@hatena

    別記事にもっといい方法を書きました。 blog.okazuki.jp ということをしたかった。 例えば以下のような namelist1.csv namelist2.csv namelist3.csv という感じのファイルがあるとして、これを1つのdata.frameに突っ込みたい。 R初心者的にがんばったらこうなった。もっと簡単にRらしくかけるのだろうか x <- lapply(list.files(getwd(), "namelist[0-9].csv"), read.csv) accum <- x[[1]] for (i in 2:length(x)) { accum <- rbind(accum, x[[i]]) }

    R言語で複数ファイルにわかれたデータを1つのdata.frameに一括で読み込む - かずきのBlog@hatena