# 패키지
#install.packages('ggplot2')
# 마크다운에서 실행 x
library(ggplot2)
data("diamonds")
df <- diamonds
df
## # A tibble: 53,940 × 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
## 7 0.24 Very Good I VVS1 62.3 57 336 3.95 3.98 2.47
## 8 0.26 Very Good H SI1 61.9 55 337 4.07 4.11 2.53
## 9 0.22 Fair E VS2 65.1 61 337 3.87 3.78 2.49
## 10 0.23 Very Good H VS1 59.4 61 338 4 4.05 2.39
## # ℹ 53,930 more rows
#벡터
x <- c(1, 2, 3)
mode(x)
## [1] "numeric"
is.numeric(x)
## [1] TRUE
is.logical(x)
## [1] FALSE
is.character(x)
## [1] FALSE
length(x)
## [1] 3
#수치형 벡터
a <- 10
a
## [1] 10
class(a)
## [1] "numeric"
#두 개 이상의 벡터
x <- c(1, 10)
y <- c("apple", "melon")
xy <- c(x, y)
xy
## [1] "1" "10" "apple" "melon"
#수치형 + 문자형 결합에선 각각 고유한 데이터 유형으로 출력되지 않음.
1:5
## [1] 1 2 3 4 5
seq(from=1, to=5, by=1)
## [1] 1 2 3 4 5
a <- c(1, 3, 1, 3)
a
## [1] 1 3 1 3
class(a)
## [1] "numeric"
a * 3
## [1] 3 9 3 9
b <- factor(c(1, 3, 1, 3))
b
## [1] 1 3 1 3
## Levels: 1 3
class(b)
## [1] "factor"
levels(b)
## [1] "1" "3"
b * 3
## Warning in Ops.factor(b, 3): '*' not meaningful for factors
## [1] NA NA NA NA
#인덱스
x <- c("a", "b", "c")
x[1]
## [1] "a"
x[-1]
## [1] "b" "c"
x[c(1,2)]
## [1] "a" "b"