이의 내가 같은 테이블이 있다고 가정 해 봅시다 :MATLAB 몇 가지 기준에 따라 테이블의 추출물 선택된 행
post user date
____ ____ ________________
1 A 12.01.2014 13:05
2 B 15.01.2014 20:17
3 A 16.01.2014 05:22
내가 작은 테이블을 만들려는 모든 게시물을 포함하는 (원래 하나를하지만 삭제!) 예를 들어 사용자 A는 게시 된 날짜를 포함합니다.
MATLAB's documentation (행을 지우는 마지막 부분 참조)에서 MATLAB을 사용하면 몇 가지 기준에 따라 표의 마스크를 만들 수 있습니다. 그래서 내 경우에는 내가 같은 것을 할 경우 :
>> postsA =
1
0
1
을 1 초 만족 에서 해당 행 myTable에가 분명히있는 곳은 다음과 같습니다
postsA = myTable.user == 'A'
가 나는 좋은 마스크 벡터를 얻을 내가 준 규칙. 나는 위의 행에서 지적했던 documention에서
는 원래 테이블에서 삭제됩니다
postsNotA = myTable.user ~= 'A' % note that I have to reverse the criterion since I'm choosing stuff that will be removed
myTable(postsNotA,:) = [];
내가 그러나 것 - 위에서 언급 한 바와 같이 - 내 원래의 테이블을 만지지 것을 좋아합니다. 여기에 한 가지 가능한 솔루션은 두 개의 열이 빈 테이블을 만드는 것입니다 : 또한 내 마스크 벡터 postsA의 현재 값을 보는 동안, 내 원래 테이블의 모든 행을 통해
post date
____ ____
interate하고 1 인 경우에 동일 관심있는 행의 두 열을 복사하고이 수축 된 행을 작은 테이블에 연결하십시오. 내가 알고 싶은 것은이 문제에 대해 1-2 라인의 긴 솔루션이 있다면?
어떻게 테이블'에 대한 (t1.post (STRCMP (t1.user, 'A')), t1.date (STRCMP (t1.user, 'A'))) ', 여기서't1'은 원래 테이블입니까? – Divakar
빈 테이블을 반환합니다. 내 데이터 세트가 거대하기 때문에 자신의 방식을 테스트하기 위해 원래의 게시물과 동일한 테이블을 다시 만들었습니다. 테스트 해 봤니? 그렇다면 비교할 수 있도록 코드를 게시하십시오. – rbaleksandar
도움을 주셔서 감사합니다! – rbaleksandar