R - Tips
■ 지수표기법 변경
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
댓글남기기