#데이터 조작1
#iris 데이터
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
iris3
## , , Setosa
## 
##       Sepal L. Sepal W. Petal L. Petal W.
##  [1,]      5.1      3.5      1.4      0.2
##  [2,]      4.9      3.0      1.4      0.2
##  [3,]      4.7      3.2      1.3      0.2
##  [4,]      4.6      3.1      1.5      0.2
##  [5,]      5.0      3.6      1.4      0.2
##  [6,]      5.4      3.9      1.7      0.4
##  [7,]      4.6      3.4      1.4      0.3
##  [8,]      5.0      3.4      1.5      0.2
##  [9,]      4.4      2.9      1.4      0.2
## [10,]      4.9      3.1      1.5      0.1
## [11,]      5.4      3.7      1.5      0.2
## [12,]      4.8      3.4      1.6      0.2
## [13,]      4.8      3.0      1.4      0.1
## [14,]      4.3      3.0      1.1      0.1
## [15,]      5.8      4.0      1.2      0.2
## [16,]      5.7      4.4      1.5      0.4
## [17,]      5.4      3.9      1.3      0.4
## [18,]      5.1      3.5      1.4      0.3
## [19,]      5.7      3.8      1.7      0.3
## [20,]      5.1      3.8      1.5      0.3
## [21,]      5.4      3.4      1.7      0.2
## [22,]      5.1      3.7      1.5      0.4
## [23,]      4.6      3.6      1.0      0.2
## [24,]      5.1      3.3      1.7      0.5
## [25,]      4.8      3.4      1.9      0.2
## [26,]      5.0      3.0      1.6      0.2
## [27,]      5.0      3.4      1.6      0.4
## [28,]      5.2      3.5      1.5      0.2
## [29,]      5.2      3.4      1.4      0.2
## [30,]      4.7      3.2      1.6      0.2
## [31,]      4.8      3.1      1.6      0.2
## [32,]      5.4      3.4      1.5      0.4
## [33,]      5.2      4.1      1.5      0.1
## [34,]      5.5      4.2      1.4      0.2
## [35,]      4.9      3.1      1.5      0.2
## [36,]      5.0      3.2      1.2      0.2
## [37,]      5.5      3.5      1.3      0.2
## [38,]      4.9      3.6      1.4      0.1
## [39,]      4.4      3.0      1.3      0.2
## [40,]      5.1      3.4      1.5      0.2
## [41,]      5.0      3.5      1.3      0.3
## [42,]      4.5      2.3      1.3      0.3
## [43,]      4.4      3.2      1.3      0.2
## [44,]      5.0      3.5      1.6      0.6
## [45,]      5.1      3.8      1.9      0.4
## [46,]      4.8      3.0      1.4      0.3
## [47,]      5.1      3.8      1.6      0.2
## [48,]      4.6      3.2      1.4      0.2
## [49,]      5.3      3.7      1.5      0.2
## [50,]      5.0      3.3      1.4      0.2
## 
## , , Versicolor
## 
##       Sepal L. Sepal W. Petal L. Petal W.
##  [1,]      7.0      3.2      4.7      1.4
##  [2,]      6.4      3.2      4.5      1.5
##  [3,]      6.9      3.1      4.9      1.5
##  [4,]      5.5      2.3      4.0      1.3
##  [5,]      6.5      2.8      4.6      1.5
##  [6,]      5.7      2.8      4.5      1.3
##  [7,]      6.3      3.3      4.7      1.6
##  [8,]      4.9      2.4      3.3      1.0
##  [9,]      6.6      2.9      4.6      1.3
## [10,]      5.2      2.7      3.9      1.4
## [11,]      5.0      2.0      3.5      1.0
## [12,]      5.9      3.0      4.2      1.5
## [13,]      6.0      2.2      4.0      1.0
## [14,]      6.1      2.9      4.7      1.4
## [15,]      5.6      2.9      3.6      1.3
## [16,]      6.7      3.1      4.4      1.4
## [17,]      5.6      3.0      4.5      1.5
## [18,]      5.8      2.7      4.1      1.0
## [19,]      6.2      2.2      4.5      1.5
## [20,]      5.6      2.5      3.9      1.1
## [21,]      5.9      3.2      4.8      1.8
## [22,]      6.1      2.8      4.0      1.3
## [23,]      6.3      2.5      4.9      1.5
## [24,]      6.1      2.8      4.7      1.2
## [25,]      6.4      2.9      4.3      1.3
## [26,]      6.6      3.0      4.4      1.4
## [27,]      6.8      2.8      4.8      1.4
## [28,]      6.7      3.0      5.0      1.7
## [29,]      6.0      2.9      4.5      1.5
## [30,]      5.7      2.6      3.5      1.0
## [31,]      5.5      2.4      3.8      1.1
## [32,]      5.5      2.4      3.7      1.0
## [33,]      5.8      2.7      3.9      1.2
## [34,]      6.0      2.7      5.1      1.6
## [35,]      5.4      3.0      4.5      1.5
## [36,]      6.0      3.4      4.5      1.6
## [37,]      6.7      3.1      4.7      1.5
## [38,]      6.3      2.3      4.4      1.3
## [39,]      5.6      3.0      4.1      1.3
## [40,]      5.5      2.5      4.0      1.3
## [41,]      5.5      2.6      4.4      1.2
## [42,]      6.1      3.0      4.6      1.4
## [43,]      5.8      2.6      4.0      1.2
## [44,]      5.0      2.3      3.3      1.0
## [45,]      5.6      2.7      4.2      1.3
## [46,]      5.7      3.0      4.2      1.2
## [47,]      5.7      2.9      4.2      1.3
## [48,]      6.2      2.9      4.3      1.3
## [49,]      5.1      2.5      3.0      1.1
## [50,]      5.7      2.8      4.1      1.3
## 
## , , Virginica
## 
##       Sepal L. Sepal W. Petal L. Petal W.
##  [1,]      6.3      3.3      6.0      2.5
##  [2,]      5.8      2.7      5.1      1.9
##  [3,]      7.1      3.0      5.9      2.1
##  [4,]      6.3      2.9      5.6      1.8
##  [5,]      6.5      3.0      5.8      2.2
##  [6,]      7.6      3.0      6.6      2.1
##  [7,]      4.9      2.5      4.5      1.7
##  [8,]      7.3      2.9      6.3      1.8
##  [9,]      6.7      2.5      5.8      1.8
## [10,]      7.2      3.6      6.1      2.5
## [11,]      6.5      3.2      5.1      2.0
## [12,]      6.4      2.7      5.3      1.9
## [13,]      6.8      3.0      5.5      2.1
## [14,]      5.7      2.5      5.0      2.0
## [15,]      5.8      2.8      5.1      2.4
## [16,]      6.4      3.2      5.3      2.3
## [17,]      6.5      3.0      5.5      1.8
## [18,]      7.7      3.8      6.7      2.2
## [19,]      7.7      2.6      6.9      2.3
## [20,]      6.0      2.2      5.0      1.5
## [21,]      6.9      3.2      5.7      2.3
## [22,]      5.6      2.8      4.9      2.0
## [23,]      7.7      2.8      6.7      2.0
## [24,]      6.3      2.7      4.9      1.8
## [25,]      6.7      3.3      5.7      2.1
## [26,]      7.2      3.2      6.0      1.8
## [27,]      6.2      2.8      4.8      1.8
## [28,]      6.1      3.0      4.9      1.8
## [29,]      6.4      2.8      5.6      2.1
## [30,]      7.2      3.0      5.8      1.6
## [31,]      7.4      2.8      6.1      1.9
## [32,]      7.9      3.8      6.4      2.0
## [33,]      6.4      2.8      5.6      2.2
## [34,]      6.3      2.8      5.1      1.5
## [35,]      6.1      2.6      5.6      1.4
## [36,]      7.7      3.0      6.1      2.3
## [37,]      6.3      3.4      5.6      2.4
## [38,]      6.4      3.1      5.5      1.8
## [39,]      6.0      3.0      4.8      1.8
## [40,]      6.9      3.1      5.4      2.1
## [41,]      6.7      3.1      5.6      2.4
## [42,]      6.9      3.1      5.1      2.3
## [43,]      5.8      2.7      5.1      1.9
## [44,]      6.8      3.2      5.9      2.3
## [45,]      6.7      3.3      5.7      2.5
## [46,]      6.7      3.0      5.2      2.3
## [47,]      6.3      2.5      5.0      1.9
## [48,]      6.5      3.0      5.2      2.0
## [49,]      6.2      3.4      5.4      2.3
## [50,]      5.9      3.0      5.1      1.8
data(mtcars)
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
#rbind(),cbind()
rbind(c(1,2,3),c(4,5,6))
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
x <- data.frame(id=c(1,2),name=c("a","b"),stringsAsFactors = F)
x
##   id name
## 1  1    a
## 2  2    b
str(x)
## 'data.frame':    2 obs. of  2 variables:
##  $ id  : num  1 2
##  $ name: chr  "a" "b"
y <- rbind(x,c(3,"c"))
y
##   id name
## 1  1    a
## 2  2    b
## 3  3    c
cbind(c(1,2,3),c(4,5,6))
##      [,1] [,2]
## [1,]    1    4
## [2,]    2    5
## [3,]    3    6
y <- cbind(x,greek=c('alpha','beta'))
y
##   id name greek
## 1  1    a alpha
## 2  2    b  beta
str(y)
## 'data.frame':    2 obs. of  3 variables:
##  $ id   : num  1 2
##  $ name : chr  "a" "b"
##  $ greek: Factor w/ 2 levels "alpha","beta": 1 2
y <- cbind(x,greek=c('alpha','beta'),stringsAsFactors=F)
str(y)
## 'data.frame':    2 obs. of  3 variables:
##  $ id   : num  1 2
##  $ name : chr  "a" "b"
##  $ greek: chr  "alpha" "beta"
#apply()
sum(1:10)
## [1] 55
d <- matrix(1:9, ncol=3)
d
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
apply(d,1,sum)
## [1] 12 15 18
apply(d,2,sum)
## [1]  6 15 24
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
apply(iris[,1:4],2,sum)
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##        876.5        458.6        563.7        179.9
colSums(iris[,1:4])
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##        876.5        458.6        563.7        179.9
#lapply()
result <- lapply(1:3,function(x) {x*2})
result
## [[1]]
## [1] 2
## 
## [[2]]
## [1] 4
## 
## [[3]]
## [1] 6
result[[1]]
## [1] 2
unlist(result)
## [1] 2 4 6
x <- list(a=1:3, b=4:6)
x
## $a
## [1] 1 2 3
## 
## $b
## [1] 4 5 6
lapply(x,mean)
## $a
## [1] 2
## 
## $b
## [1] 5
lapply(iris[,1:4],mean)
## $Sepal.Length
## [1] 5.843333
## 
## $Sepal.Width
## [1] 3.057333
## 
## $Petal.Length
## [1] 3.758
## 
## $Petal.Width
## [1] 1.199333
colMeans(iris[,1:4])
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333
d <- as.data.frame(matrix(unlist(lapply(iris[,1:4],mean)),
                          ncol=4,byrow=TRUE))
names(d) <- names(iris[,1:4])
d
##   Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     5.843333    3.057333        3.758    1.199333
#sapply()
lapply(iris[,1:4],mean)
## $Sepal.Length
## [1] 5.843333
## 
## $Sepal.Width
## [1] 3.057333
## 
## $Petal.Length
## [1] 3.758
## 
## $Petal.Width
## [1] 1.199333
sapply(iris[,1:4],mean)
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333
class(sapply(iris[,1:4],mean))
## [1] "numeric"
x <- sapply(iris[, 1:4],mean)
as.data.frame(x)
##                     x
## Sepal.Length 5.843333
## Sepal.Width  3.057333
## Petal.Length 3.758000
## Petal.Width  1.199333
as.data.frame(t(x))
##   Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     5.843333    3.057333        3.758    1.199333
sapply(iris,class)
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##    "numeric"    "numeric"    "numeric"    "numeric"     "factor"
y <- sapply(iris[,1:4],function(x){x>3})
y
##        Sepal.Length Sepal.Width Petal.Length Petal.Width
##   [1,]         TRUE        TRUE        FALSE       FALSE
##   [2,]         TRUE       FALSE        FALSE       FALSE
##   [3,]         TRUE        TRUE        FALSE       FALSE
##   [4,]         TRUE        TRUE        FALSE       FALSE
##   [5,]         TRUE        TRUE        FALSE       FALSE
##   [6,]         TRUE        TRUE        FALSE       FALSE
##   [7,]         TRUE        TRUE        FALSE       FALSE
##   [8,]         TRUE        TRUE        FALSE       FALSE
##   [9,]         TRUE       FALSE        FALSE       FALSE
##  [10,]         TRUE        TRUE        FALSE       FALSE
##  [11,]         TRUE        TRUE        FALSE       FALSE
##  [12,]         TRUE        TRUE        FALSE       FALSE
##  [13,]         TRUE       FALSE        FALSE       FALSE
##  [14,]         TRUE       FALSE        FALSE       FALSE
##  [15,]         TRUE        TRUE        FALSE       FALSE
##  [16,]         TRUE        TRUE        FALSE       FALSE
##  [17,]         TRUE        TRUE        FALSE       FALSE
##  [18,]         TRUE        TRUE        FALSE       FALSE
##  [19,]         TRUE        TRUE        FALSE       FALSE
##  [20,]         TRUE        TRUE        FALSE       FALSE
##  [21,]         TRUE        TRUE        FALSE       FALSE
##  [22,]         TRUE        TRUE        FALSE       FALSE
##  [23,]         TRUE        TRUE        FALSE       FALSE
##  [24,]         TRUE        TRUE        FALSE       FALSE
##  [25,]         TRUE        TRUE        FALSE       FALSE
##  [26,]         TRUE       FALSE        FALSE       FALSE
##  [27,]         TRUE        TRUE        FALSE       FALSE
##  [28,]         TRUE        TRUE        FALSE       FALSE
##  [29,]         TRUE        TRUE        FALSE       FALSE
##  [30,]         TRUE        TRUE        FALSE       FALSE
##  [31,]         TRUE        TRUE        FALSE       FALSE
##  [32,]         TRUE        TRUE        FALSE       FALSE
##  [33,]         TRUE        TRUE        FALSE       FALSE
##  [34,]         TRUE        TRUE        FALSE       FALSE
##  [35,]         TRUE        TRUE        FALSE       FALSE
##  [36,]         TRUE        TRUE        FALSE       FALSE
##  [37,]         TRUE        TRUE        FALSE       FALSE
##  [38,]         TRUE        TRUE        FALSE       FALSE
##  [39,]         TRUE       FALSE        FALSE       FALSE
##  [40,]         TRUE        TRUE        FALSE       FALSE
##  [41,]         TRUE        TRUE        FALSE       FALSE
##  [42,]         TRUE       FALSE        FALSE       FALSE
##  [43,]         TRUE        TRUE        FALSE       FALSE
##  [44,]         TRUE        TRUE        FALSE       FALSE
##  [45,]         TRUE        TRUE        FALSE       FALSE
##  [46,]         TRUE       FALSE        FALSE       FALSE
##  [47,]         TRUE        TRUE        FALSE       FALSE
##  [48,]         TRUE        TRUE        FALSE       FALSE
##  [49,]         TRUE        TRUE        FALSE       FALSE
##  [50,]         TRUE        TRUE        FALSE       FALSE
##  [51,]         TRUE        TRUE         TRUE       FALSE
##  [52,]         TRUE        TRUE         TRUE       FALSE
##  [53,]         TRUE        TRUE         TRUE       FALSE
##  [54,]         TRUE       FALSE         TRUE       FALSE
##  [55,]         TRUE       FALSE         TRUE       FALSE
##  [56,]         TRUE       FALSE         TRUE       FALSE
##  [57,]         TRUE        TRUE         TRUE       FALSE
##  [58,]         TRUE       FALSE         TRUE       FALSE
##  [59,]         TRUE       FALSE         TRUE       FALSE
##  [60,]         TRUE       FALSE         TRUE       FALSE
##  [61,]         TRUE       FALSE         TRUE       FALSE
##  [62,]         TRUE       FALSE         TRUE       FALSE
##  [63,]         TRUE       FALSE         TRUE       FALSE
##  [64,]         TRUE       FALSE         TRUE       FALSE
##  [65,]         TRUE       FALSE         TRUE       FALSE
##  [66,]         TRUE        TRUE         TRUE       FALSE
##  [67,]         TRUE       FALSE         TRUE       FALSE
##  [68,]         TRUE       FALSE         TRUE       FALSE
##  [69,]         TRUE       FALSE         TRUE       FALSE
##  [70,]         TRUE       FALSE         TRUE       FALSE
##  [71,]         TRUE        TRUE         TRUE       FALSE
##  [72,]         TRUE       FALSE         TRUE       FALSE
##  [73,]         TRUE       FALSE         TRUE       FALSE
##  [74,]         TRUE       FALSE         TRUE       FALSE
##  [75,]         TRUE       FALSE         TRUE       FALSE
##  [76,]         TRUE       FALSE         TRUE       FALSE
##  [77,]         TRUE       FALSE         TRUE       FALSE
##  [78,]         TRUE       FALSE         TRUE       FALSE
##  [79,]         TRUE       FALSE         TRUE       FALSE
##  [80,]         TRUE       FALSE         TRUE       FALSE
##  [81,]         TRUE       FALSE         TRUE       FALSE
##  [82,]         TRUE       FALSE         TRUE       FALSE
##  [83,]         TRUE       FALSE         TRUE       FALSE
##  [84,]         TRUE       FALSE         TRUE       FALSE
##  [85,]         TRUE       FALSE         TRUE       FALSE
##  [86,]         TRUE        TRUE         TRUE       FALSE
##  [87,]         TRUE        TRUE         TRUE       FALSE
##  [88,]         TRUE       FALSE         TRUE       FALSE
##  [89,]         TRUE       FALSE         TRUE       FALSE
##  [90,]         TRUE       FALSE         TRUE       FALSE
##  [91,]         TRUE       FALSE         TRUE       FALSE
##  [92,]         TRUE       FALSE         TRUE       FALSE
##  [93,]         TRUE       FALSE         TRUE       FALSE
##  [94,]         TRUE       FALSE         TRUE       FALSE
##  [95,]         TRUE       FALSE         TRUE       FALSE
##  [96,]         TRUE       FALSE         TRUE       FALSE
##  [97,]         TRUE       FALSE         TRUE       FALSE
##  [98,]         TRUE       FALSE         TRUE       FALSE
##  [99,]         TRUE       FALSE        FALSE       FALSE
## [100,]         TRUE       FALSE         TRUE       FALSE
## [101,]         TRUE        TRUE         TRUE       FALSE
## [102,]         TRUE       FALSE         TRUE       FALSE
## [103,]         TRUE       FALSE         TRUE       FALSE
## [104,]         TRUE       FALSE         TRUE       FALSE
## [105,]         TRUE       FALSE         TRUE       FALSE
## [106,]         TRUE       FALSE         TRUE       FALSE
## [107,]         TRUE       FALSE         TRUE       FALSE
## [108,]         TRUE       FALSE         TRUE       FALSE
## [109,]         TRUE       FALSE         TRUE       FALSE
## [110,]         TRUE        TRUE         TRUE       FALSE
## [111,]         TRUE        TRUE         TRUE       FALSE
## [112,]         TRUE       FALSE         TRUE       FALSE
## [113,]         TRUE       FALSE         TRUE       FALSE
## [114,]         TRUE       FALSE         TRUE       FALSE
## [115,]         TRUE       FALSE         TRUE       FALSE
## [116,]         TRUE        TRUE         TRUE       FALSE
## [117,]         TRUE       FALSE         TRUE       FALSE
## [118,]         TRUE        TRUE         TRUE       FALSE
## [119,]         TRUE       FALSE         TRUE       FALSE
## [120,]         TRUE       FALSE         TRUE       FALSE
## [121,]         TRUE        TRUE         TRUE       FALSE
## [122,]         TRUE       FALSE         TRUE       FALSE
## [123,]         TRUE       FALSE         TRUE       FALSE
## [124,]         TRUE       FALSE         TRUE       FALSE
## [125,]         TRUE        TRUE         TRUE       FALSE
## [126,]         TRUE        TRUE         TRUE       FALSE
## [127,]         TRUE       FALSE         TRUE       FALSE
## [128,]         TRUE       FALSE         TRUE       FALSE
## [129,]         TRUE       FALSE         TRUE       FALSE
## [130,]         TRUE       FALSE         TRUE       FALSE
## [131,]         TRUE       FALSE         TRUE       FALSE
## [132,]         TRUE        TRUE         TRUE       FALSE
## [133,]         TRUE       FALSE         TRUE       FALSE
## [134,]         TRUE       FALSE         TRUE       FALSE
## [135,]         TRUE       FALSE         TRUE       FALSE
## [136,]         TRUE       FALSE         TRUE       FALSE
## [137,]         TRUE        TRUE         TRUE       FALSE
## [138,]         TRUE        TRUE         TRUE       FALSE
## [139,]         TRUE       FALSE         TRUE       FALSE
## [140,]         TRUE        TRUE         TRUE       FALSE
## [141,]         TRUE        TRUE         TRUE       FALSE
## [142,]         TRUE        TRUE         TRUE       FALSE
## [143,]         TRUE       FALSE         TRUE       FALSE
## [144,]         TRUE        TRUE         TRUE       FALSE
## [145,]         TRUE        TRUE         TRUE       FALSE
## [146,]         TRUE       FALSE         TRUE       FALSE
## [147,]         TRUE       FALSE         TRUE       FALSE
## [148,]         TRUE       FALSE         TRUE       FALSE
## [149,]         TRUE        TRUE         TRUE       FALSE
## [150,]         TRUE       FALSE         TRUE       FALSE
class(y)
## [1] "matrix"
head(y)
##      Sepal.Length Sepal.Width Petal.Length Petal.Width
## [1,]         TRUE        TRUE        FALSE       FALSE
## [2,]         TRUE       FALSE        FALSE       FALSE
## [3,]         TRUE        TRUE        FALSE       FALSE
## [4,]         TRUE        TRUE        FALSE       FALSE
## [5,]         TRUE        TRUE        FALSE       FALSE
## [6,]         TRUE        TRUE        FALSE       FALSE
#tapply
tapply(1:10,rep(1,10),sum)
##  1 
## 55
tapply(1:10, 1:10 %% 2==1, sum)
## FALSE  TRUE 
##    30    25
tapply(iris$Sepal.Length, iris$Species, mean)
##     setosa versicolor  virginica 
##      5.006      5.936      6.588
m <- matrix(1:8,
            ncol=2,
            dimnames=list(c("spring","summer","fall","winter"),
                          c("male","female")))
m
##        male female
## spring    1      5
## summer    2      6
## fall      3      7
## winter    4      8
tapply(m, list(c(1,1,2,2,1,1,2,2),
               c(1,1,1,1,2,2,2,2)),sum)
##   1  2
## 1 3 11
## 2 7 15
#mapply()

#doBy 패키지
summary(iris)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 
quantile(iris$Sepal.Length)
##   0%  25%  50%  75% 100% 
##  4.3  5.1  5.8  6.4  7.9
quantile(iris$Sepal.Length,seq(0,1,by=0.1))
##   0%  10%  20%  30%  40%  50%  60%  70%  80%  90% 100% 
## 4.30 4.80 5.00 5.27 5.60 5.80 6.10 6.30 6.52 6.90 7.90
#summaryBy(Sepal.Width+Sepal.Length~Species,iris)

#split()
split(iris, iris$Species)
## $setosa
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa
## 
## $versicolor
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 
## $virginica
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 101          6.3         3.3          6.0         2.5 virginica
## 102          5.8         2.7          5.1         1.9 virginica
## 103          7.1         3.0          5.9         2.1 virginica
## 104          6.3         2.9          5.6         1.8 virginica
## 105          6.5         3.0          5.8         2.2 virginica
## 106          7.6         3.0          6.6         2.1 virginica
## 107          4.9         2.5          4.5         1.7 virginica
## 108          7.3         2.9          6.3         1.8 virginica
## 109          6.7         2.5          5.8         1.8 virginica
## 110          7.2         3.6          6.1         2.5 virginica
## 111          6.5         3.2          5.1         2.0 virginica
## 112          6.4         2.7          5.3         1.9 virginica
## 113          6.8         3.0          5.5         2.1 virginica
## 114          5.7         2.5          5.0         2.0 virginica
## 115          5.8         2.8          5.1         2.4 virginica
## 116          6.4         3.2          5.3         2.3 virginica
## 117          6.5         3.0          5.5         1.8 virginica
## 118          7.7         3.8          6.7         2.2 virginica
## 119          7.7         2.6          6.9         2.3 virginica
## 120          6.0         2.2          5.0         1.5 virginica
## 121          6.9         3.2          5.7         2.3 virginica
## 122          5.6         2.8          4.9         2.0 virginica
## 123          7.7         2.8          6.7         2.0 virginica
## 124          6.3         2.7          4.9         1.8 virginica
## 125          6.7         3.3          5.7         2.1 virginica
## 126          7.2         3.2          6.0         1.8 virginica
## 127          6.2         2.8          4.8         1.8 virginica
## 128          6.1         3.0          4.9         1.8 virginica
## 129          6.4         2.8          5.6         2.1 virginica
## 130          7.2         3.0          5.8         1.6 virginica
## 131          7.4         2.8          6.1         1.9 virginica
## 132          7.9         3.8          6.4         2.0 virginica
## 133          6.4         2.8          5.6         2.2 virginica
## 134          6.3         2.8          5.1         1.5 virginica
## 135          6.1         2.6          5.6         1.4 virginica
## 136          7.7         3.0          6.1         2.3 virginica
## 137          6.3         3.4          5.6         2.4 virginica
## 138          6.4         3.1          5.5         1.8 virginica
## 139          6.0         3.0          4.8         1.8 virginica
## 140          6.9         3.1          5.4         2.1 virginica
## 141          6.7         3.1          5.6         2.4 virginica
## 142          6.9         3.1          5.1         2.3 virginica
## 143          5.8         2.7          5.1         1.9 virginica
## 144          6.8         3.2          5.9         2.3 virginica
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica
lapply(split(iris$Sepal.Length,iris$Species),mean)
## $setosa
## [1] 5.006
## 
## $versicolor
## [1] 5.936
## 
## $virginica
## [1] 6.588
#subset()
subset(iris, Species=='setosa')
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa
subset(iris, Species=="setosa"&Sepal.Length>5.0)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
subset(iris, select=c(Sepal.Length, Species))
##     Sepal.Length    Species
## 1            5.1     setosa
## 2            4.9     setosa
## 3            4.7     setosa
## 4            4.6     setosa
## 5            5.0     setosa
## 6            5.4     setosa
## 7            4.6     setosa
## 8            5.0     setosa
## 9            4.4     setosa
## 10           4.9     setosa
## 11           5.4     setosa
## 12           4.8     setosa
## 13           4.8     setosa
## 14           4.3     setosa
## 15           5.8     setosa
## 16           5.7     setosa
## 17           5.4     setosa
## 18           5.1     setosa
## 19           5.7     setosa
## 20           5.1     setosa
## 21           5.4     setosa
## 22           5.1     setosa
## 23           4.6     setosa
## 24           5.1     setosa
## 25           4.8     setosa
## 26           5.0     setosa
## 27           5.0     setosa
## 28           5.2     setosa
## 29           5.2     setosa
## 30           4.7     setosa
## 31           4.8     setosa
## 32           5.4     setosa
## 33           5.2     setosa
## 34           5.5     setosa
## 35           4.9     setosa
## 36           5.0     setosa
## 37           5.5     setosa
## 38           4.9     setosa
## 39           4.4     setosa
## 40           5.1     setosa
## 41           5.0     setosa
## 42           4.5     setosa
## 43           4.4     setosa
## 44           5.0     setosa
## 45           5.1     setosa
## 46           4.8     setosa
## 47           5.1     setosa
## 48           4.6     setosa
## 49           5.3     setosa
## 50           5.0     setosa
## 51           7.0 versicolor
## 52           6.4 versicolor
## 53           6.9 versicolor
## 54           5.5 versicolor
## 55           6.5 versicolor
## 56           5.7 versicolor
## 57           6.3 versicolor
## 58           4.9 versicolor
## 59           6.6 versicolor
## 60           5.2 versicolor
## 61           5.0 versicolor
## 62           5.9 versicolor
## 63           6.0 versicolor
## 64           6.1 versicolor
## 65           5.6 versicolor
## 66           6.7 versicolor
## 67           5.6 versicolor
## 68           5.8 versicolor
## 69           6.2 versicolor
## 70           5.6 versicolor
## 71           5.9 versicolor
## 72           6.1 versicolor
## 73           6.3 versicolor
## 74           6.1 versicolor
## 75           6.4 versicolor
## 76           6.6 versicolor
## 77           6.8 versicolor
## 78           6.7 versicolor
## 79           6.0 versicolor
## 80           5.7 versicolor
## 81           5.5 versicolor
## 82           5.5 versicolor
## 83           5.8 versicolor
## 84           6.0 versicolor
## 85           5.4 versicolor
## 86           6.0 versicolor
## 87           6.7 versicolor
## 88           6.3 versicolor
## 89           5.6 versicolor
## 90           5.5 versicolor
## 91           5.5 versicolor
## 92           6.1 versicolor
## 93           5.8 versicolor
## 94           5.0 versicolor
## 95           5.6 versicolor
## 96           5.7 versicolor
## 97           5.7 versicolor
## 98           6.2 versicolor
## 99           5.1 versicolor
## 100          5.7 versicolor
## 101          6.3  virginica
## 102          5.8  virginica
## 103          7.1  virginica
## 104          6.3  virginica
## 105          6.5  virginica
## 106          7.6  virginica
## 107          4.9  virginica
## 108          7.3  virginica
## 109          6.7  virginica
## 110          7.2  virginica
## 111          6.5  virginica
## 112          6.4  virginica
## 113          6.8  virginica
## 114          5.7  virginica
## 115          5.8  virginica
## 116          6.4  virginica
## 117          6.5  virginica
## 118          7.7  virginica
## 119          7.7  virginica
## 120          6.0  virginica
## 121          6.9  virginica
## 122          5.6  virginica
## 123          7.7  virginica
## 124          6.3  virginica
## 125          6.7  virginica
## 126          7.2  virginica
## 127          6.2  virginica
## 128          6.1  virginica
## 129          6.4  virginica
## 130          7.2  virginica
## 131          7.4  virginica
## 132          7.9  virginica
## 133          6.4  virginica
## 134          6.3  virginica
## 135          6.1  virginica
## 136          7.7  virginica
## 137          6.3  virginica
## 138          6.4  virginica
## 139          6.0  virginica
## 140          6.9  virginica
## 141          6.7  virginica
## 142          6.9  virginica
## 143          5.8  virginica
## 144          6.8  virginica
## 145          6.7  virginica
## 146          6.7  virginica
## 147          6.3  virginica
## 148          6.5  virginica
## 149          6.2  virginica
## 150          5.9  virginica
subset(iris, select=-c(Sepal.Length, Species))
##     Sepal.Width Petal.Length Petal.Width
## 1           3.5          1.4         0.2
## 2           3.0          1.4         0.2
## 3           3.2          1.3         0.2
## 4           3.1          1.5         0.2
## 5           3.6          1.4         0.2
## 6           3.9          1.7         0.4
## 7           3.4          1.4         0.3
## 8           3.4          1.5         0.2
## 9           2.9          1.4         0.2
## 10          3.1          1.5         0.1
## 11          3.7          1.5         0.2
## 12          3.4          1.6         0.2
## 13          3.0          1.4         0.1
## 14          3.0          1.1         0.1
## 15          4.0          1.2         0.2
## 16          4.4          1.5         0.4
## 17          3.9          1.3         0.4
## 18          3.5          1.4         0.3
## 19          3.8          1.7         0.3
## 20          3.8          1.5         0.3
## 21          3.4          1.7         0.2
## 22          3.7          1.5         0.4
## 23          3.6          1.0         0.2
## 24          3.3          1.7         0.5
## 25          3.4          1.9         0.2
## 26          3.0          1.6         0.2
## 27          3.4          1.6         0.4
## 28          3.5          1.5         0.2
## 29          3.4          1.4         0.2
## 30          3.2          1.6         0.2
## 31          3.1          1.6         0.2
## 32          3.4          1.5         0.4
## 33          4.1          1.5         0.1
## 34          4.2          1.4         0.2
## 35          3.1          1.5         0.2
## 36          3.2          1.2         0.2
## 37          3.5          1.3         0.2
## 38          3.6          1.4         0.1
## 39          3.0          1.3         0.2
## 40          3.4          1.5         0.2
## 41          3.5          1.3         0.3
## 42          2.3          1.3         0.3
## 43          3.2          1.3         0.2
## 44          3.5          1.6         0.6
## 45          3.8          1.9         0.4
## 46          3.0          1.4         0.3
## 47          3.8          1.6         0.2
## 48          3.2          1.4         0.2
## 49          3.7          1.5         0.2
## 50          3.3          1.4         0.2
## 51          3.2          4.7         1.4
## 52          3.2          4.5         1.5
## 53          3.1          4.9         1.5
## 54          2.3          4.0         1.3
## 55          2.8          4.6         1.5
## 56          2.8          4.5         1.3
## 57          3.3          4.7         1.6
## 58          2.4          3.3         1.0
## 59          2.9          4.6         1.3
## 60          2.7          3.9         1.4
## 61          2.0          3.5         1.0
## 62          3.0          4.2         1.5
## 63          2.2          4.0         1.0
## 64          2.9          4.7         1.4
## 65          2.9          3.6         1.3
## 66          3.1          4.4         1.4
## 67          3.0          4.5         1.5
## 68          2.7          4.1         1.0
## 69          2.2          4.5         1.5
## 70          2.5          3.9         1.1
## 71          3.2          4.8         1.8
## 72          2.8          4.0         1.3
## 73          2.5          4.9         1.5
## 74          2.8          4.7         1.2
## 75          2.9          4.3         1.3
## 76          3.0          4.4         1.4
## 77          2.8          4.8         1.4
## 78          3.0          5.0         1.7
## 79          2.9          4.5         1.5
## 80          2.6          3.5         1.0
## 81          2.4          3.8         1.1
## 82          2.4          3.7         1.0
## 83          2.7          3.9         1.2
## 84          2.7          5.1         1.6
## 85          3.0          4.5         1.5
## 86          3.4          4.5         1.6
## 87          3.1          4.7         1.5
## 88          2.3          4.4         1.3
## 89          3.0          4.1         1.3
## 90          2.5          4.0         1.3
## 91          2.6          4.4         1.2
## 92          3.0          4.6         1.4
## 93          2.6          4.0         1.2
## 94          2.3          3.3         1.0
## 95          2.7          4.2         1.3
## 96          3.0          4.2         1.2
## 97          2.9          4.2         1.3
## 98          2.9          4.3         1.3
## 99          2.5          3.0         1.1
## 100         2.8          4.1         1.3
## 101         3.3          6.0         2.5
## 102         2.7          5.1         1.9
## 103         3.0          5.9         2.1
## 104         2.9          5.6         1.8
## 105         3.0          5.8         2.2
## 106         3.0          6.6         2.1
## 107         2.5          4.5         1.7
## 108         2.9          6.3         1.8
## 109         2.5          5.8         1.8
## 110         3.6          6.1         2.5
## 111         3.2          5.1         2.0
## 112         2.7          5.3         1.9
## 113         3.0          5.5         2.1
## 114         2.5          5.0         2.0
## 115         2.8          5.1         2.4
## 116         3.2          5.3         2.3
## 117         3.0          5.5         1.8
## 118         3.8          6.7         2.2
## 119         2.6          6.9         2.3
## 120         2.2          5.0         1.5
## 121         3.2          5.7         2.3
## 122         2.8          4.9         2.0
## 123         2.8          6.7         2.0
## 124         2.7          4.9         1.8
## 125         3.3          5.7         2.1
## 126         3.2          6.0         1.8
## 127         2.8          4.8         1.8
## 128         3.0          4.9         1.8
## 129         2.8          5.6         2.1
## 130         3.0          5.8         1.6
## 131         2.8          6.1         1.9
## 132         3.8          6.4         2.0
## 133         2.8          5.6         2.2
## 134         2.8          5.1         1.5
## 135         2.6          5.6         1.4
## 136         3.0          6.1         2.3
## 137         3.4          5.6         2.4
## 138         3.1          5.5         1.8
## 139         3.0          4.8         1.8
## 140         3.1          5.4         2.1
## 141         3.1          5.6         2.4
## 142         3.1          5.1         2.3
## 143         2.7          5.1         1.9
## 144         3.2          5.9         2.3
## 145         3.3          5.7         2.5
## 146         3.0          5.2         2.3
## 147         2.5          5.0         1.9
## 148         3.0          5.2         2.0
## 149         3.4          5.4         2.3
## 150         3.0          5.1         1.8
#merge()
x <- data.frame(name=c("a","b","c"),math=c(1,2,3))
y <- data.frame(name=c("a","b","c"),english=c(4,5,6))
merge(x,y)
##   name math english
## 1    a    1       4
## 2    b    2       5
## 3    c    3       6
x <- data.frame(name=c("a","b","c"), math=c(1,2,3))
y <- data.frame(name=c("c","b","a"),english=c(4,5,6))
cbind(x,y)
##   name math name english
## 1    a    1    c       4
## 2    b    2    b       5
## 3    c    3    a       6
merge(x,y,all=TRUE)
##   name math english
## 1    a    1       6
## 2    b    2       5
## 3    c    3       4
#order()
x <- c(20,11,33,50,47)
x
## [1] 20 11 33 50 47
order(x)
## [1] 2 1 3 5 4
order(-x)
## [1] 4 5 3 1 2
head(iris[order(iris$Sepal.Length),])
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 14          4.3         3.0          1.1         0.1  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 4           4.6         3.1          1.5         0.2  setosa
head(iris[order(iris$Sepal.Length, iris$Petal.Length),])
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 14          4.3         3.0          1.1         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 23          4.6         3.6          1.0         0.2  setosa
#with(),within()
print(mean(iris$Sepal.Length))
## [1] 5.843333
print(mean(iris$Sepal.Width))
## [1] 3.057333
with(iris,{
  print(mean(Sepal.Length))
  print(mean(Sepal.Width))
})
## [1] 5.843333
## [1] 3.057333
x <- data.frame(val=c(1,2,3,4,NA,5,NA))
x
##   val
## 1   1
## 2   2
## 3   3
## 4   4
## 5  NA
## 6   5
## 7  NA
x <- within(x,{
  val <- ifelse(is.na(val),median(val,na.rm=TRUE),val)
})
x
##   val
## 1   1
## 2   2
## 3   3
## 4   4
## 5   3
## 6   5
## 7   3
x$val[is.na(x$val)] <- median(x$val, na.rm=TRUE)

data(iris)
iris[1,1] =NA
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           NA         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
median_per_species <- sapply(split(iris$Sepal.Length, iris$Species),median,na.rm=TRUE)
iris <- within(iris,{
  Sepal.Length <- ifelse(is.na(Sepal.Length),median_per_species[Species],Sepal.Length)
})
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.0         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
split(iris$Sepal.Length, iris$Species)
## $setosa
##  [1] 5.0 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4
## [18] 5.1 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5
## [35] 4.9 5.0 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0
## 
## $versicolor
##  [1] 7.0 6.4 6.9 5.5 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6
## [18] 5.8 6.2 5.6 5.9 6.1 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0
## [35] 5.4 6.0 6.7 6.3 5.6 5.5 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7
## 
## $virginica
##  [1] 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5
## [18] 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3
## [35] 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8 6.7 6.7 6.3 6.5 6.2 5.9
sapply(split(iris$Sepal.Length, iris$Species),median, na.rm=TRUE)
##     setosa versicolor  virginica 
##        5.0        5.9        6.5
#aggregate()
aggregate(Sepal.Width~Species, iris, mean)
##      Species Sepal.Width
## 1     setosa       3.428
## 2 versicolor       2.770
## 3  virginica       2.974