Loading
2015. 4. 1. 03:45 - 성돌

[Mathematica] 특정 숫자나 문자가 포함된 행을 삭제하는 방법


Mathematica를 사용하여 특정 숫자나 문자나 포함된 행을 삭제하는 방법을 알아보자.

이것은 Mathematica로 데이터분석을 할 때 자주 사용될 수 있으며,
나같은 경우 버리고자 하는 데이터를 무리수인 I로 자주 표시한다.

(Mathematica에선 무리수를 소문자인 i가 아니라 대문자인 I로 입력해 줌.)


이럴 때는 Delete명령어와 Position명령어를 아래와 같이 함께 이용해주면 된다.
(아래는 array에 대한 코드임. 행렬에 대한 코드는 조금만 더 아래를 참고.)








위에서 데이터라고 표시된 곳에 데이터를 입력해주면 된다.


Position명령어는 데이터에서 I가 위치한 위치를 알려주는 명령어이며,
Delete는 이 위치에 있는 모든 원소를 지우는 명령어이다.

예를 들어, I가 섞인 숫자들의 array를 yData에 입력하고 위의 코드를 사용하면,






그럼, 위
와 같이 I가 모두 사라진 것을 볼 수 있다.


위의 예는 array에 관한 것이고, 이것을 조금만 수정하여 행렬에 대해서도 사용할 수 있다.


예를 들어, 행렬에서 2번째 열에 (보통 x와 y중 y값으로 사용하는...)
I가 위치해 있다고 하면 아래와 같이 명령어를 사용해줄 수 있다.






위에서 데이터에 따라있는 [[All,2]]는 데이터의 2번째 열의 모든 원소를 의미한다.

첫번째 열에서 I를 찾고자 한다면, 이를 [[All,1]]로 바꾸어주기만 하면 된다.

예로 x와 y값으로 이루어진 행렬을 아래와 같이 정의한 후,
위의 코드를 사용해주면 I가 포함된 모든 행이 사라진 것을 볼 수 있다.