반응형 전체 글218 [엑셀] 행 순서를 거꾸로 정렬하기 다음과 같이 행 순서를 거꾸로 하는 것은 일종의 '정렬'인데, 알고보면 간단하지만, 막상 생각이 잘 나지 않을 때가 있다. 원본 옆에 임의의 숫자열을 만들면 된다. 2016/08/29 - [엑셀] - [엑셀] 순서대로 번호 채우기 단축키 / row() 함수 / 알파벳 채우기 에서 본 대로 숫자를 채우고 범위를 잡은 후 [숫자 내림차순 정렬]을 눌러 주면 원하는대로 순서가 거꾸로 정렬된다. 원하면 필터를 사용해도 된다. 임시로 입력한 것들을 삭제하면 완성된다. 2016. 11. 24. [R.아르] 문장에서 명사 추출하기 자주 쓰이는 명사만 보아도 대략 글의 요지를 알 수 있다고 한다. 한국 저작권협회에서 제공하는 이상의 에서 명사를 뽑아보자. (주소: https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?wrtSn=9000973&menuNo=200030) '박제가 되어 버린 천재'를 아시오? 나는 유쾌하오. 이런 때 연애까지가 유쾌하오.육신이 흐느적흐느적하도록 피로했을 때만 정신이 은화처럼 맑소. 니코틴이 내 횟배 앓는 뱃속으로 스미면 머릿속에 으레 백지가 준비되는 법이오. 그 위에다 나는 위트와 파라독스를 바둑 포석처럼 늘어놓소. 가증할 상식의 병이오.나는 또 여인과 생활을 설계하오. 연애기법에마저 서먹서먹해진 지성의 극치를 흘깃 좀 들여다본 일이 있는, 말하자면 일종의 정신분일.. 2016. 11. 22. [R. 아르] 로또 확률 계산하기 for() / choose() 로또란 기본적으로 45개 중에 하나를 뽑고, 남은 44개 중에 하나를 뽑고... 의 과정을 6번 반복하는 것이다. R은 사실 반복문을 썩 좋아하지 않는다. 반복문을 쓸 바에는 벡터로 만드는 게 낫다는 철학. 예를 들어 다음과 같이 for()를 사용하면 반복문을 만들 수 있다. i 가 45에서 시작하여 40이 될 때까지 괄호{ } 안의 내용이 반복된다. 하지만 R은 이렇게 하느니, 45부터 40까지 벡터를 만들어서 다음과 같이 처리하는 쪽을 권장한다. prod() 는 product 의 약자로, 벡터의 모든 요소를 곱해 주는 함수다. 어쨌든 45개 중 1개, 44개 중 1개... 를 6번 실행할 때 가능한 모든 경우의 수는 5864443200 이라는 것을 알았다. 큰 숫자이므로 콤마(,)를 찍어 보자. fo.. 2016. 11. 8. [R. 아르] 숫자를 날짜로 바꾸기 2016/09/20 - [엑셀] - [엑셀] 요일 연속으로 채우기에서 엑셀은 날짜 1900-01-01 을 숫자 1로 간주한다고 언급한 바 있다. R도 마찬가지로 날짜와 숫자의 변환이 가능하다. 예를 들어 다음과 같은 x, y에서 setdiff()를 사용하면 2016-01-02 가 아닌 16802가 나온다. 이 숫자를 다시 날짜로 바꾸려 하면 위와 같이 'origin' must be supplied 라는 에러가 난다. 메시지 내용대로 기준점이 있어야 한다는 의미인데, 엑셀이 1900년 1월 1일을 기준으로 하듯 R은 유닉스 표준에 맞추어 1970년 1월 1일을 기준으로 한다고 알아두면 편리하다. 2016. 10. 28. [R.아르] R에서 엑셀의 vlookup()처럼 첫 번째 값만 가져오기 다음과 같은 x, y가 있다고 할 때 x의 product에 해당하는 y의 memo를 가져오는 것은 어렵지 않다. 2016/09/08 - [R] - [R.아르] R에서 엑셀의 vlookup() 기능 사용하기에 나왔던 merge()를 사용하면 되겠다. 하지만 이전 포스팅에서 지적했듯이, merge()는 가져오고자 하는 대상에 중복값이 있으면 그 값을 모두 매칭시켜 준다. (이 예에서는 E에 Eggplant와 Enchilada 라는 값이 두 개 있다.) 엑셀의 vlookup()이 첫 번째 값만 반환해 주는 것과는 사뭇 다르다. vlookup()처럼 첫 번째 값만 반환하려면 2016/09/12 - [R] - [R.아르] 중복된 행 삭제하기 unique() / duplicated() 에 등장한 duplicated.. 2016. 10. 28. [엑셀] 특정 문자를 포함하는 행 추출 만일 다음과 같이 정리된 결과를 얻고 싶다면 해당 내용은 다음 링크에서 참고할 수 있다. 2018/03/07 - [엑셀] - [엑셀] 특정 문자가 들어있는 행들만 모아서 추출하기 아래의 포스팅에서는 각 셀에 원하는 문자가 있는지 여부를 가려내는 수식을 설명한다. 2016/09/26 - [엑셀] - [엑셀] 특정 문자(대소문자)가 포함된 셀의 개수 세기 countif() / find() 에서 나온 find()를 활용하여 특정 문자의 존재 여부를 조건으로 걸 수도 있다. 예를 들어 다음과 같이 수식을 작성하면 글자 중 o의 존재를 파악할 수 있다. =FIND("o", 셀) 이제 수식을 isnumber()로 둘러싸 주면 값이 TRUE 와 FALSE로 반환된다. =ISNUMBER(FIND("o", 셀)) 원하면.. 2016. 10. 24. [R.아르] 주별 합계 구하기 cut() 다음과 같은 자료에서 주별 합계를 구해 보자. 2016/10/14 - [R] - [R.아르] R에서 월별 합계 구하기 / 글자 일부분 자르기 substr() 와 마찬가지로 주에 해당하는 열을 임시로 만들어 넣어야 한다. cut() 함수의 [breaks=] 옵션이 이런 역할을 해줄 수 있다. 기준은 월요일이며, 일요일을 시작일로 지정하고 싶다면 [start.on.monday=F] 옵션을 사용한다. dcast() 를 사용하면 주별 합계를 구할 수 있다. 참고로 주뿐 아니라 월도 cut()을 이용해 구할 수 있다. 2016. 10. 24. [엑셀] 선택하여 붙여넣기가 동작하지 않을 때 나는 값만 선택해서 붙여넣고 싶은데 아무리 오른쪽 버튼을 눌러 봐도 이상하게 뜨는 경우가 있다. 두 개의 엑셀 창이 서로 별도의 프로세스로 실행되어서 그렇다. 이럴 때는 같은 파일의 탭 내에서 이루어지는 복사 - 붙여넣기로 바꾸어 주면 된다. 일단 붙이고자 하는 쪽(Book2)에 새 탭을 만든 뒤, 원본(Book1)에서 원하는 자료를 복사하여 붙여지는 쪽(Book2) 새 탭에 단순히 Ctrl + C, V 로 붙여넣는다. 이제 Book2 내에서 다시 한 번 자료를 복사한 뒤 원하는 탭에서 오른쪽클릭 - [선택하여 붙여넣기] 하면 의도대로 '값으로 붙여넣기' 등의 메뉴가 호출된다. 2016. 10. 18. [엑셀] 그래프에서 특정 요일만 색을 다르게 설정하기 가끔 특정 요일만 색이 다른 그래프를 만들고 싶을 때가 있다. 위와 같이 일요일만 빨간 색으로 만들어 보자. 먼저 자료를 준비하고 2016/09/01 - [엑셀] - [엑셀] 일요일만 빨간 색으로 바꾸기 에서 나온 WEEKDAY() 함수를 사용하여 일요일에 해당하는 데이터만 별도로 추출한다. '일요일'에 해당하는 조건은 WEEKDAY(셀) = 1 이 될 것이다. A열이 일요일이면 B열의 값을 반환하고, 아니면 공란으로 두라는 IF문을 작성하였다. 아래로 채워주면 일요일에 해당하는 데이터만 뽑아낼 수 있다. 마찬가지로 이번에는 일요일이 아닌 다른 요일의 데이터를 뽑아내 보자. '일요일이 아님'에 해당하는 조건은 WEEKDAY(셀)1 이 될 것이다. NOT을 의미하는 연산자가 != 가 아니라 인 것이 특이하.. 2016. 10. 18. [R.아르] R에서 월별 합계 구하기 / 글자 일부분 자르기 substr() 2016/10/10 - [엑셀] - [엑셀] 월별 합계 구하기 month() / 배열수식 에서 본 월별합계를 R에서 사용하려면 어떻게 해야 할까? 일단 날짜에서 월을 뽑아내는 함수를 사용해야 할 것이다. lubridate 패키지의 month() 함수가 이러한 역할을 한다. lubridate 패키지를 설치하고 month()와 year() 함수를 사용하면 잘 추출되는 것을 알 수 있다. 이제 다음과 같은 x가 있다고 하자. 월을 추출해 임시 열로 붙여 놓고 참고로 명령줄 전체를 괄호()로 둘러싸 주면 명령줄의 실행 결과를 보여 준다. 즉, 위의 예에서 y를 다시 호출할 필요 없이 와 같이 적으면 cbind()의 결과를 바로 보여준다. 이제 dcast()를 사용하면 되겠다. (참고: 2016/09/23 - [.. 2016. 10. 14. 이전 1 ··· 15 16 17 18 19 20 21 22 다음 반응형