Rを使ってユーザーのログデータの分析。URL編
やりたいこと
ユーザーのログデータから取ってきたパラメータ付きURLを分割して集計する。
パッケージのインストール
install.packages("dplyr")
library("dplyr")
csvファイルの読み込み
url <- read.csv("/Users/yuyu/downloads/view.csv", header=TRUE)
正規表現で分割する関数を定義
div <- function(x){return (strsplit(x, split="\\/\\?id=|\\&") )}
分割できるようにデータ型を文字列にして、分割
res <- lapply(as.character(url$uri), div)
配列から欲しいデータを抽出する関数を定義
get <- function(x){ return (x1[2]) }
実行
list <- lapply(res, get)
データの最初だけ表示:head(list)
書き出し:write.csv(list2, "list2.csv", quote=FALSE, row.names=FALSE)
集計:table <- table(list)
ディレクトリ確認:getwd()
メタ文字 特殊な意味を持つメタ文字はその前に バックスラッシュ記号をおくことで表現される。メタ文字は . \ | ( ) [ { ^ $ * + ? である
抜き出し
> hits <- grep ("\\?id=", uri)
> uri[hits]
置き換え
sub(".*\\?id=([0-9]+)", "\\1", contenthits)
分割
strsplit(id1, "\\&")
参考サイト: