3월, 2015의 게시물 표시

R 기본 문법

저는 경영학 전공자에요. 수학이 싫어서 인문계로 온 1인이지요. @.@ 먹고 살기 위해 어쩔수 없이(?) 숫자랑 친하게 지내는 사이지만 실은 숫자 아닌 쪽에 더 정이 가는 것을 어쩔 수 없지요. 숫자 울렁증 있는 당신이 별 수 없이 R을 익혀야 한다면 무엇부터 해야 할까? 네. R은 전자계산기입니다. 계산기 중에서도 똑똑한 편에 속합니다. 사칙연산(더하기, 곱하기, 빼기, 나누기) 당연히 잘 합니다. 그리고 메모리 기능도 있습니다. 사칙연산과 메모리를 활용해서 R을 계산기로 써보겠어요. R의 프롬프트를 R> 이렇게 표시하겠어요. R> 10 +2 [1] 12 R> 10 - 2 [1] 8 R> 10 * 2 [1] 20 R > 10 / 5 [1] 2 R> -10 + 15 [1] 5 사칙 연산에 문제 없고, 메모리와 괄호도 써보지요. R> m1 <- (10+10)*2 + 10 R> m1 [1] 50 R> m1 / 5 [1] 10 계산기에서 MR과 같은 기능은 함수 rm()이 해요. 메모리를 지워보지요. R> rm(m1) 이외에도 수학함수들을 지원해요. 자연로그 log10() 로그 log() 절대값 abs() 제곱근 sqrt() 지수 exp() 반올림 round() 올림 floor() 내림 ceiling() sin() cos() tan() asin() acos() atan()

2015/03/23-25 특강 퀴즈

23일 퀴즈 24일 퀴즈 25일 퀴즈 Crime Motivation Data

문자열 조작

R에서 문자열(character)는 스칼라, 벡터, 행렬 등으로 저장된다. 이들을 어떻게 다룰 수 있는 지 소개한다. 아주 간단한 예로 state.name이라는 character 벡터 내의 원소가 가진 문자열 개수를 출력한다. > nchar(state.name) [1] 7 6 7 8 10 8 11 8 7 7 6 5 8 7 4 [16] 6 8 9 5 8 13 8 9 11 8 7 8 6 13 10 [31] 10 8 14 12 4 8 6 12 12 14 12 9 5 4 7 [46] 8 10 13 9 7 문자열 합치기, 자르기 다음은 문자열을 합쳐서 출력하는 함수 cat()의 사용법이다. > x = 7 > y = 10 > cat (’x should be greater than y, but x=’,x,’and y=’,y,’\n’) x should be greater than y, but x= 7 and y= 10 합쳐서 "출력"까지 한다는 점이 중요하다. 출력할 때 줄바꿈표시(\n)를 해줘야 하고, sep=""를 정해주지 않으면 자동으로 원소마다 한 칸 씩 띄운다. 이것이 귀찮다면 > cat(’Long strings can’,’be displayed over’,’several lines using’,’the fill= argument’, fill=1) 이렇게 해보자. 자동으로 한 줄씩 내려오게 출력될 것이다. 출력은 빼고 문자열만 합치려면 paste()를 쓴다. > paste (’one’,2,’three’,4,’five’) [1] "one 2 three 4 five" 합칠 때 중간을 연결해 줄 것을 정하려면 collapse= 사용 > paste (c(’one’,’two’,’three’,’four’),collapse=’ ’) [1] "one two three four" 벡터 내의 (여기서는 c(.....

Sportage 2015년식

기아 스포티지R을 소유한지 이제 5일차. 적산거리 300km... 출퇴근하며 정상적으로 다녔고, 한번은 서울 다녀왔고... 아직 길들이기도 한참은 남았지만 그간의 우려와 지금의 느낌을 정리해본다. 우려들 이 차를 고르면서 가장 걱정이 되었던 부분은 사실 적재공간이다. 투싼도 그렇지만 스포티지는 SUV 치고는 적재공간이 참 없다. 트렁크의 실크기만 따진다면야 소형차보다 조금 더 나은 수준이다. 물론 큰 물건을 밀어넣을 수 있어 적재에 유리하다. 대형 여행 트렁크들은 세워서 넣으면 4개까지 들어간다. 뭐... 사용하기 나름이랄까... 본격적인 캠핑을 위해서라면 루프랙을 사용하지 않을 수 없다. 다음으로 걱정은 브레이크. 참 말이 많다. 밀린다, 안선다... 등등등... 밀린다? 3000씨씨 이상의 국산차나 스포츠성이 강한 외제차를 타는 사람들이 느끼기에는 밀려도 한참 밀린다 생각할만 하다. 제동력은 솟아나오지 않는다. 발을 대면 바로 차가 밑으로 팍 꺼지면서 정지 태세에 들어가야 하는데 스포티지는 전혀 그런 맛이 없다. 그래서 코너링을 하겠다며 덤비거나 이단 브레이킹을 하겠다며 생각하면 크게 실망할 것이다. 패드를 갈아서 잡는다, 캘리퍼랑 디스크를 교환한다 대책을 세우기도 한다. 내 느낌을 말해볼까? 이 차는 달리라고 만든 차가 아니다. 그야말로 여유 주행을 생각하고 연비 고려한 가족형 레저차. 민감한 브레이킹 하면서 아기들 태우고 다닐 수는 없다. 코너링 하려다가는 차가 휘청거리는 꼴을 보게 된다. 연비와 편안한 시내주행을 생각한다면 10~15% 밟았을 때 제동력은 5~10% 정도 나오고 20%~30%에서 20~20%, 40~50%에서 40~70% 정도가 적당하다. 그 이상은 ABS가 알아서 해줘야 한다. 물론 스포티한 차량은 15% 대에서 30%의 제동이 솟아나와야 빠르게 차를 가라앉힐 수 있다. 스포티지는... 차량이 물리면 그냥 브레이크에 발을 척 얹고 놀면 된다. 비록 브레이크를 살짝 밟고 있지만 약한 감속 정도 나온다. 상황봐가며 대응...

Python. 파일 백그라운드 실행(윈도우즈)

리눅스는 Shell, 맥은 오토메이터가 있지요. 윈도우즈에서도 백그라운드를 스크립트로 실행할 수 있습니다. 완전 꿀 팁! 실행할 파일이 test.bat라고 하지요. 이 파일은 다음과 같다고 합시다. python test.py 파이썬 실행 배치 파일입니다. 이제 test.vbs라는 파일을 만들어서 텍스트 편집기를 열어요. 그리고 다음과 같이 입력합니다. Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "test.bat" & Chr(34),0 Set WshShell = Nothing 닫고, 이 파일을 더블클릭하면 백그라운드 프로세스로 test.bat가 실행됩니다. 홀라~