1 분 소요

■ 지수표기법 변경

optins(scipen= 숫자)

optins(scipen=100)

■ order 함수

order(DataFrame, decreasing = (T/F))


order(DataFrame, decreasing = (T/F))

■ K-Means Clustering

수행전에 scaling을 먼저 하자

library(factoextra) elbow point 와 실루엣 library(cluster) 시각화용 library(NbClust) elbow point 확인

library(factoextra)

elbow method

fviz_nbclust(df, kmeans, method ="wss", k.max=15)+
  theme_minimal()+
  ggtitle("Elbow Method")

library(NbClust) elbow point 확인

nb <- NbClust(wine_scaled, distance = 'euclidean', method = 'kmeans', 
              min.nc = 2, max.nc = 10)

library(factoextra)

silhouette method

fviz_nbclust(df, kmeans, method ="silhouette", k.max=15)+
  theme_minimal()+
  ggtitle("silhouette Method")

Kmeans 수행

  • iter.max : 알고리즘이 한 번의 실행에서 수행하는 최대 반복 횟수를 제어
  • nstart : 초기 중심을 선택하고 여러 번의 실행을 수행하여 최선의 군집 결과를 선택하도록 도와줍
df.kmeans <- kmeans(df, center =5, iter.max=1000)

kmeans 시각화

clusplot(df, clus = df$cluster, color = T, shade = T, labels =1, lines =0)

■ 사진을 데이터화 시키기 (클러스터링2)

library(jpeg)
readJPEG("~~.jpeg")

■ grepl 함수

문자열 검색하는 함수

grepl(pattern, string) patter에 해당하는 부분이 string에 존재하면 T or F

string <- "apple"
pattern <- "ppl"

result <- grepl(pattern, string)
print(result) # TRUE

windows()

플랏 그릴때 새창 띄워서 그려줌

print(n = …)

print(함수, n = 숫자) 데이터가 많아서 rows가 생략될때… 숫자만큼 볼수있음

%in%

변수의 값이 지정한 목록에서 해당하는지,,,

tibble vs. data frame

lead, lag 함수를 써보면 알수있음


■ split() 함수

  • data를 기준에 따라 분할하는 함수
  • data를 분할하여 각 그룹에 속하는 하위 data frame 또는 list를 생성할 수 있음
  • 사용법

    split(x, f, drop = FALSE)

    • x : 분할할 데이터 (벡터, 데이터프레임 등)
    • f : 분할 기준이 되는 요인(facotr) 또는 벡터
    • drop : 분할된 그룹에 원소가 없는 경우 해당 그룹을 유지할지 여부를 나타내는 T/F / default는 FALSE
> df <- data.frame(
    group = c("A", "A", "B", "B", "C", "C"),
    value = c(1, 2, 3, 4, 5, 6))
> split(df, f = df$group)

$A
  group value
1     A     1
2     A     2

$B
  group value
3     B     3
4     B     4

$C
  group value
5     C     5
6     C     6

■ scale() 함수

  • 데이터를 표준화함 평균이 0, 표준편차가 1

태그:

카테고리:

업데이트:

댓글남기기