Weitere ähnliche Inhalte Mehr von Atsushi Hayakawa (20) Decision tree22. 第八位
●
reshape
データを横に展開する
> iris$ID <- 1:150
> reshape(iris[,c(1,5,6)], idvar="ID", timevar="Species",
direction="wide")
ID Sepal.Length.setosa Sepal.Length.versicolor Sepal.Length.virginica
1 1
5.1
NA
NA
2 2
4.9
NA
NA
3 3
4.7
NA
NA
4 4
4.6
NA
NA
5 5
5.0
NA
NA
6 6
5.4
NA
NA
27. 第三位
●
merge
テーブルを横に結合する。
> df1 <- data.frame(a=1:5, b=2:6)
> df2 <- data.frame(a=c(1,2,4,6), c=c(2,3,4,5))
> merge(df1, df2, by=c("a")) # df1とdf2のaが共通
> merge(df1, df2, all.x=T, by=c("a")) # df1のaを残す
abc
1122
2233
3454
> merge(df1, df2, all=T, by=c("a")) # 全てのaを残す
a b c
11 2 2
22 3 3
3 3 4 NA
44 5 4
5 5 6 NA
6 6 NA 5
ab c
112 2
223 3
3 3 4 NA
445 4
5 5 6 NA
28. 第二位
●
table
クロス集計を作成する。
> table(iris$Species)
setosa versicolor virginica
50
50
50
> table(iris$Species, iris$Petal.Width)
0.1 0.2 0.3 0.4 0.5 0.6 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
setosa
5 29 7 7 1 1 0 0 0 0 0 0 0 0 0
versicolor 0 0 0 0 0 0 7 3 5 13 7 10 3 1 1
virginica 0 0 0 0 0 0 0 0 0 0 1 2 1 1 11
1.9 2 2.1 2.2 2.3 2.4 2.5
setosa
0 0 0 0 0 0 0
versicolor 0 0 0 0 0 0 0
virginica 5 6 6 3 8 3 3