注目の投稿

【kepler.gl】コロナ対策による人流の変化も地図上に可視化(各種メディアで報道)

kepler.glのサイト画面 kepler.glを使ってコロナ対策の効果を分析したところ、テレビ、新聞、ネットのメディアから問い合わせや報道依頼が殺到。今も、土日返上で都内や全国の人流変化を分析しています。この記事では人流変化の可視化に便利なkepler.glにつ...

2015年7月7日火曜日

R 列名を変える(rename)

【目的】 列名を変える
【方法】 filter(df, 変更後列名 = 変更前列名)
【補足】 library(dplyr)が必要

library(dplyr)

#テスト用データフレームを作成

v.x <- c(1,2,3,4)
v.x1 <- c("x","a","a","a")
v.x2 <- c("11","11","11","11")
df.x <- data.frame(id = v.x, name = v.x1, num = v.x2)

df.x

> df.x
  id name num
1  1    x  11
2  2    a  11
3  3    a  11
4  4    a  11

rename(df.x, id2 = id)

> rename(df.x, id2 = id)
  id2 name num
1   1    x  11
2   2    a  11
3   3    a  11
4   4    a  11

renameの参考サイト
http://www.cookbook-r.com/Manipulating_data/Renaming_columns_in_a_data_frame/

◇ちなみにRでfor文を書く方法
【R】Rでfor文を書く(ループの設定)


R 条件を指定して任意の行を抽出(filter)

【目的】 任意の行を抽出する
【方法】 filter(df, x == 1)
【補足】 library(dplyr)が必要

library(dplyr)

#テスト用データフレームを作成

v.x <- c(1,2,3,4)
v.x1 <- c("x","a","a","a")
v.x2 <- c("11","11","11","11")
df.x <- data.frame(id = v.x, name = v.x1, num = v.x2)

df.x

> df.x
  id name num
1  1    x  11
2  2    a  11
3  3    a  11
4  4    a  11

filter(df.x, name == "a")

> filter(df.x, name == "a")
  id name num
1  2    a  11
2  3    a  11
3  4    a  11


filterを使って簡単に移動平均を求める方法
http://tips-r.blogspot.jp/2015/01/r_1.html

2015年7月3日金曜日

R:複数列のユニークデータを抽出する(重複除去)

【目的】 複数列のユニークデータを抽出する(重複データを除去)
【方法】 distinct(df, x)
【補足】 library(dplyr)が必要

#テスト用データフレームを作成

v.x <- c(1,2,3,4)
v.x1 <- c("x","a","a","a")
v.x2 <- c("11","11","11","11")
df.x <- data.frame(id = v.x, name = v.x1, num = v.x2)

df.x

> df.x
  id name num
1  1    x  11
2  2    a  11
3  3    a  11
4  4    a  11

distinct(df.x, name)

> distinct(df.x, name)
  id name num
1  1    x  11
2  2    a  11


R ユニーク数をカウントする
http://mototeds.blogspot.jp/2015/06/r_29.html

2015年6月29日月曜日

R:複数列のユニーク数をカウントする(重複除去してカウント)

【目的】 ユニーク数を数える(重複を除去して数える)
【方法】 n_distinct(v.x)
【補足】 library(dplyr)が必要

#テスト用データフレームを作成

v.x <- c(1,2,3,4)
v.x1 <- c("x","a","a","a")
v.x2 <- c("11","11","11","11")
df.x <- data.frame(id = v.x, name = v.x1, num = v.x2)

df.x

> df.x
  id name num
1  1    x  11
2  2    a  11
3  3    a  11
4  4    a  11
> 

df.x %>%
  summarize(id_u = n_distinct(id),name_u = n_distinct(name),num_u = n_distinct(num))

> df.x %>%
+   summarize(id_u = n_distinct(id),name_u = n_distinct(name),num_u = n_distinct(num))
  id_u name_u num_u
1    4      2     1

R ユニークデータを抽出する
http://mototeds.blogspot.jp/2015/07/r.html

2015年6月18日木曜日

R 内部結合(複数key)

【目的】 Rで複数キーの内部結合をする
【方法】 inner_join(df.x, df.y, by = c("key_1", "key_2"))
【補足】 library(dplyr)が必要

#テスト用データフレームを作成

v.x <- c(1,2,3,4)
v.x1 <- c("x","a","a","a")
v.x2 <- c("11","12","13","14")

v.y <- c(1,2,3,40)
v.y1 <- c("x","a","x","a")
v.y2 <- c("21","22","23","24")

df.x <- data.frame(id = v.x, name = v.x1, num = v.x2)
df.y <- data.frame(id = v.y, name = v.y1, num = v.y2)

> df.x
  id name num
1  1    x  11
2  2    a  12
3  3    a  13
4  4    a  14
> df.y
  id name num
1  1    x  21
2  2    a  22
3  3    x  23
4 40    a  24

#inner join
inner_join(df.x, df.y, by = c("id", "name")) 

> inner_join(df.x, df.y, by = c("id", "name"))
  id name num.x num.y
1  1    x    11    21
2  2    a    12    22

---他の結合---
R 内部結合(inner join)
R 内部結合(複数key)
R 外部結合(left join, right join)
R 完全外部結合(full join)
R アンチ結合(anti join)

---dplyrとは?---
R dplyrとはなんぞや?大規模データも簡単に処理? ~使い方~

R アンチ結合(anti join)

【目的】 Rでアンチ結合(anti join)を使う
【方法】 anti_join(df.x, df.y, by = "key")
【補足】 library(dplyr)が必要

#テスト用データフレームを作成

v.x <- c(1,2,3)
v.x1 <- c("a","b","c")

v.y <- c(1,2,30)
v.y1 <- c("A","B","C")

df.x <- data.frame(id = v.x, name = v.x1)
df.y <- data.frame(id = v.y, name = v.y1)

> df.x
  id name
1  1    a
2  2    b
3  3    c
> df.y
  id name
1  1    A
2  2    B
3 30    C

#anti join
anti_join(df.x, df.y, by = "id")

> anti_join(df.x, df.y, by = "id")
  id name
1  3    c

---他の結合---
R 内部結合(inner join)
R 内部結合(複数key)
R 外部結合(left join, right join)
R 完全外部結合(full join)
R アンチ結合(anti join)

---dplyrとは?---
R dplyrとはなんぞや?大規模データも簡単に処理? ~使い方~

R 完全外部結合(full join)

【目的】 Rで完全会部結合(full join)を使う
【方法】 full_join(df.x, df.y, by = "key")
【補足】 library(dplyr)が必要

# テスト用データフレームを作成
v.x <- c(1,2,3)
v.x1 <- c("a","b","c")
v.y <- c(1,2,30)
v.y1 <- c("A","B","C")
df.x <- data.frame(id = v.x, name = v.x1)
df.y <- data.frame(id = v.y, name = v.y1)

> df.x
  id name
1  1    a
2  2    b
3  3    c
> df.y
  id name
1  1    A
2  2    B
3 30    C

# full join
full_join(df.x, df.y, by = "id")

> full_join(df.x, df.y, by = "id")
  id name.x name.y
1  1      a      A
2  2      b      B
3  3      c   <NA>
4 30   <NA>      C

---他の結合---
R 内部結合(複数key)
R 外部結合(left join, right join)
R 完全外部結合(full join)
R アンチ結合(anti join)

---dplyrとは?---
R dplyrとはなんぞや?大規模データも簡単に処理? ~使い方~