목록IT (205)
꿈 많은 사람의 이야기
R에서 데이터를 처리하다보면 데이터가 없는 값이 있을 수도 있습니다. 이 없는 데이터를 처리해야하는데요 아래와 같은 상황입니다. 두 데이터 프레임을 bind_rows 함수를 이용해 합쳐줍니다. 그러면 아래와 같이 됩니다. NA 값이 들어가있죠 만약 데이터를 처리하는데 이러한 데이터가 있으면 정말 난처합니다. 이때 is.na 함수를 통해서 빠진 데이터가 있는지 알 수 있습니다. is.na를 사용하면 TRUE, FALSE가 나오는데, 데이터가 없으면 TRUE 값이 나옵니다 위 사진처럼 말이죠! 그럼 이제 NA 값 즉 결측치가 있는 데이터를 출력해보죠 결측치가 없는 데이터와 있는 데이터를 전부 출력해보겠습니다. filter를 이용해서 is.na 함수를 사용합니다 id를 기준으로 결측치가 있는 데이터를 먼저 출..
유명한 통계 프로그램은 R 뿐만 아니라 SAS, SPSS 등도 있습니다 오히려 과거에는 SAS, SPSS를 더 많이 사용했죠 R에선 SAS, SPSS 등에서 사용하는 데이터를 불러올 수 있습니다. foreign 패키지를 이용하면 됩니다 install.packages를 이용해서 foreign 패키지를 설치합니다 그리고 library를 통해 패키지를 부착합니다 SPSS 기준으로 설명해드리면 아래와 같이 사용가능해요 read.spss(file = "파일명", to.data.frame = T)를 합니다. to.data.frame은 spss 데이터를 R 데이터 프레림 형태로 변환하는 옵션입니다 위 처럼 사용하면 데이터 프레임 형식으로 들어가게 됩니다
R 에서 분석한 그래프를 이미지로 저장할 수 있는 방법이 있습니다 R 스튜디오(studio)를 기준으로 설명할게요 그래프가 나오는 plots 탭에 Exports가 있을겁니다 저길 클릭하면 아래 처럼 나오게 됩니다 그리고 이미지 또는 pdf 파일로 저장하시면 됩니다 정말 간단하네요!
지난번 포스팅에서 배열 정렬에 관해서 잠깐 다루었었습니다. http://lsjsj92.tistory.com/94 이 글을 보시면 배열에 관해 정리하면서 정렬도 다루었었는데요 sort 함수를 사용하면 정렬은 가능하지만 완벽하지는 않습니다. 예를들어 아래와 같은 상황이 발생되죠 숫자를 정렬한다고 가정합시다 숫자가 들어있는 somelist 배열에는 1,2,4,~ 256의 숫자가 들어있습니다. 그걸 sort 함수를 이용해서 정렬을 하면 아래와 같이 출력됩니다 이상하죠? 내가 원했던 정렬은 1,2,4,8 순서대로 가는 정렬인데요 1, 128, 16, 2, 256, 32, 4, 64, 8 순으로 정렬이 되어 있습니다. 자세히 보면 가장 맨 앞 숫자는 순서대로 작은 값입니다. 즉 정렬이 아스키값으로 정렬이 되기 때문..
C나 Java 등 여타 다른 언어에서는 while 문 등 반복문을 사용할 때 break, continue를 자주 이용하게 됩니다. 특히 break 문장은 매우 자주 사용하게 되죠 펄에서도 마찬가지로 break, continue 기능을 하는 구문이 있습니다. 단, break, continue가 아닙니다. break는 last, continue는 redo 또는 next 입니다. last의 기능은 일반적인 break와 같습니다. while문을 하다가 last를 만나면 그 반복문을 빠져나오게 되죠 근데 continue 기능을 하는 redo, next가 조금 헷갈립니다. 2개가 있으니까요 그 차이점과 사용 방법을 알아볼까합니다. 먼저 last; 입니다. while을 계속 실행하고 있습니다(무한 루프라고 가정) 근..
펄에서 디렉토리를 찾고, 해당 디렉토리에 존재하는 파일들을 출력해주는 기능이 있습니다 디렉토리 핸들링이라고 불리는데요 그걸 알아볼까 합니다 먼저 chdir 함수를 알아보죠 chdir 함수는 요구된 디렉토리로 변경이 되는데요 변경이 올바르면 참을 리턴하고 못하면 false를 리턴합니다. 이렇게 합니다. 사용자가 $where에 입력을 받게합니다 그리고 그 입력값이 디렉토리에 존재하는 입력값이면 참을 리턴하기에 성공!이 뜨게 될 것입니다. 이렇게 말이죠! 저는 c드라이브가 있으니 성공이 뜹니다~ 그리고 glob( ) 즉 글로빙이라는 것이 있습니다(글로브라고도 부르더라고요) glob 함수는 파일명을 검색할 수 있습니다. glob( )를 이용해서 사용하기도 하지만 저는 다른 방법으로 사용해봤어요 그냥 안에..
함수는 보통 프로그래밍을 하다 보면 똑같은 내용을 반복적으로 작업할 때가 있습니다. 이때 바로 함수를 사용할 때입니다. 예를 들어 더하기 연산을 계속 하는데 그때마다 더하기 연산을 만들면 불필요한 작업이 되는 것이죠 그래서 함수를 따로 만들어 기능을 만든 다음 필요할 때 호출해서 사용만 하면 되는겁니다 다른 여타 언어들과 마찬가지로 파이썬도 함수가 존재합니다. 자바에선 public void sum(int num){ } 등과 같이 사용하죠 파이썬에선 def 라고 선언해주면 됩니다. 명확하죠 자바스크립트에선 function()으로 사용하는 것과 비슷합니다 파이썬 함수의 구조는 다음과 같이 됩니다. def 함수명(인수) : 수행문장 소스를 보면서 이해해보죠~ 1 2 3 4 5 6 7 def sum(a,b): ..
이번에는 파이썬에서 파일 입출력을 알아볼까 합니다. 파일 입출력은 파일에 접근해서 쓰고, 읽고, 내용을 추가하는 일련의 작업을 말합니다. 파이썬에서의 파일 입출력은 정말 간단합니다! 위 사진을 보시면 간단하게 설명이 나와있지만 3가지 모드가 있습니다. r - 읽기모드 w - 쓰기모드 a - 추가모드 w를 쓰면 쓰기 모드 + 파일이 없으면 파일 생성까지 해줍니다 먼저 파일을 하나 생성해야겠죠? 위 사진을 실행하면 파일이 생성됩니다 이렇게요! 물론 내용이 없는 빈 파일입니다. 이제 파일 내용을 채워보죠! 내용을 채워야 하니 w 모드로 열어야겠죠? 위 사진처럼 문자열 값을 data 변수에 넣고 f.write를 해줍니다. 그러면 위에처럼 내용이 쓰여집니다! 이제 쓰여진 내용을 읽어보죠 방법이 3가지가 있습니다...
R에서 데이터를 다룰 때 데이터를 합쳐야 할 상황이 생길 수 있습니다 당연히 이런 기능이 존재합니다 행으로 합치거나 열로 합치거나 둘다 가능합니다. left_join함수와 bind_rows를 이용하면 됩니다. 아래 사진 처럼 합칠 수 있어요~ 위는 열을 합치는겁니다. 아래는 행 데이터를 합치고요~ 이제 실습을 해보겠습니다. 먼저 열을 합치는 경우에요~ data1, data2를 생성하겠습니다. 각각 id 변수는 동일하지만 midterm과 final이 다릅니다 위 사진 처럼 데이터 프레임을 만들어줍니다 각각을 출력하면 아래처럼 나오게 되겠죠? 먼저 left_join을 이용해서 열을 합쳐보겠습니다. by="id"를 통해 공통 변수인 id로 맞추어서 합치겠습니다~ 합친 데이터를 total에 넣고 출력해보죠 위 ..
R에서 데이터를 다루는 방법은 여러가지가 있습니다. 이번 포스팅은 dplyr 라이브러리를 이용해서 데이터를 다루는 방법을 공부해볼까 합니다 먼저 데이터 행(row)값을 추출하는 방법입니다! 아래 그림처럼요~ 내가 class가 1인 사람들의 정보만 출력하고 싶을 때가 있을겁니다 그럴때 사용하는 방법이죠~ 먼저 dplyr 라이브러리를 가지고 옵니다 설치가 안되어 있다면 install.packages로 설치하세요~ 그리고 csv파일을 읽어와서 진행을 해보겠습니다 %>% 라는 것은 출력하라는 겁니다 exam 데이타 프레임에 있는 것을 출력을 하는데 class가 1인 데이터만 filter해서 추출해라! 이거죠 그렇게 출력하면 위와 같이 출력이 됩니다 조건을 다르게 하면 다르게 출력이 가능해요~ 아래처럼요 영어가 ..