목록분류 전체보기 (49)
자료 매번 검색하기 귀찮아서 만든 블로그
>> category = ['x'; 'y'; 'x'; 'z'; 'y'] category = 5×1 char 배열 'x' 'y' 'x' 'z' 'y' >> values = [5; 11; 1; 3; 2] values = 5 11 1 3 2 >> Table = table(category, values) Table = 5×2 table category values ________ ______ x 5 y 11 x 1 z 3 y 2 다음과 같이 테이블이 주어졌다고 할 때, 카테고리별로 합, 평균 등을 계산하기 위해서는 groupsummary 함수를 사용한다 대표적으로 합, 평균, 표준편차를 계산해보자 합 >> groupsummary(Table, 'category', 'sum') ans = 3×3 table cate..
python에서 데이터프레임을 다룰 때, value_counts() 를 사용하면 범주형인 열의 범주별 빈도수를 계산할 수 있다. 비슷하게 Matlab에서는 groupcounts 라는 함수를 사용하면 각 범주가 등장하는 빈도수를 계산할 수 있다. >> str = ['a'; 'b'; 'a'; 'c'; 'a'; 'b'] str = 6×1 char 배열 'a' 'b' 'a' 'c' 'a' 'b' a가 3개, b가 2개, c가 1개인 이 리스트에 대해, groupcounts 함수를 적용해보자 >> [Counts, Category] = groupcounts(str) Counts = 3 2 1 Category = 3×1 char 배열 'a' 'b' 'c' 첫번째 결과값인 Counts는 빈도수, 두번째 결과값인 Cat..
>> a = [1,2,5,10,6,1,10] a = 1 2 5 10 6 1 10 1차원 행렬이 다음과 같이 있다고 할 때, 중복된 원소를 제거한 배열을 결과값으로 얻고 싶을 경우 unique 함수를 사용한다 >> unique(a) ans = 1 2 5 6 10 중복된 값인 1과 10 (6, 7번째 원소)이 사라진 것을 확인할 수 있다. 단, unique 함수를 사용하면 기본적으로 결과 배열의 크기가 정렬된 형태로 생성된다. 정렬을 원하지 않는 경우, 'stable' 을 추가 인수로 입력해주면 기존의 순서는 변하지 않게 출력된다. >> unique(a, 'stable') ans = 1 2 5 10 6 다차원 행렬에 대해서도 적용이 가능하다. >> a = [1, 2 ; 2, 4 ; 1, 5 ; 2, 4 ; ..

mkdir('만들고자 하는 폴더의 이름') 기본적으로 MATLAB에서는 mkdir (make directory)를 사용하면 원하는 경로에 폴더를 생성할 수 있다. 나의 경우 for문을 순회하며 폴더 내에 파일을 저장하는 방식의 코드를 작성해야 했는데, 해당 경로에 같은 이름의 폴더가 존재하는데 mkdir를 사용할 경우 경고 메시지를 뱉어난다 은근히 거슬려서 찾아보니, exist 라는 함수를 사용하면 이를 해결할 수 있다고 한다 방법은 간단하다. if ~exist('만들고자 하는 폴더 명', 'dir') mkdir('만들고자 하는 폴더 명') end 간단한 예시를 통해 구현해보자. 아래 사진이 현재의 내 폴더의 상태이다. 여기서 위의 코드를 처음 실행하면 My_Folder가 생성된 것을 확인할 수 있다. ..

subplot으로 그려진 그림에 대해, 공통 레이블을 붙여보자. f = figure; subplot(3,1,1) plot(rand(5,1)) subplot(3,1,2) plot(rand(5,1)) subplot(3,1,3) plot(rand(5,1)) 주어진 그림은 다음과 같다. 아래 코드를 통해 공통 레이블 코드 구현 # subplot들의 레이블에 대한 visualization 옵션 끄기 f_all=axes(f,'visible','off'); # 전체 그림에 대한 visualization 옵션 켜기 f_all.Title.Visible='on'; f_all.XLabel.Visible='on'; f_all.YLabel.Visible='on'; # 라벨 입력 xlabel(f_all,'My Xlabel'); ..
MATLAB에서 array2table을 사용하면 행렬을 테이블로 변환할 수 있다. >> a = rand(4, 2) >> a = 0.9575 0.9572 0.9649 0.4854 0.1576 0.8003 0.9706 0.1419 >> table = array2table(a) >> table = 4×2 table a1 a2 _______ _______ 0.95751 0.95717 0.96489 0.48538 0.15761 0.80028 0.97059 0.14189 array2table을 통해 변환된 테이블의 변수 명을 지정하기 위해서는 아래와 같이 작성하면 된다. >> table = array2table(a, 'VariableNames',{'myvar1','myvar2'}) >> table = 4×2 tab..

repelem(데이터, 행방향으로 복사할 횟수, 열방향으로 복사할 횟수) 각 행 (혹은 열)이 각각 복사되는 형태 a = [10 20; 30 40] 행방향 열방향 행&열 비슷하게 repmat는 행렬을 한 덩어리로 보고 통째로 복사하는 형태이다

mat = rand(10, 3); heatmap(corrcoef(mat)) 각 열이 변수가 된다. 데이터 분석 공모전 중 매트랩으로 분석할 데이터의 그림을 그리는 코드를 찾다보니..

library(ggplot2) df = data.frame(x=seq(0, 100, by=0.1), y=seq(0, 100, by=0.1)) ggplot(df, aes(x=x, y=y))+ geom_line()+ geom_point() 데이터간의 간격이 너무 조밀한 경우 geom_line과 geom_point를 함께 사용했을 때 점들이 선을 모두 가리는 현상이 발생한다. 이를 해결하기 위한 여러가지 해법이 있는데, 아래에서는 인덱싱을 사용하여 해결함. #그림에 넣을 점의 개수 Point_num = 25; thinned