R:팁
편집하기
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{R}} ==데이터 다루기 전략== 데이터를 다룰 땐 절대 raw 데이터를 건드리지 않는다. 항상 복사해 두고 진행하는 게 나중을 위해 좋다. 사소한 차이에서 오류가 발생하는 경우가 많다. 분석을 시작할 땐 as.data.frame 등을 꼭 적용해 시작하는 습관을 들이자. ===관련함수=== {| class="wikitable" !이름 !기원 !기능 !사용법 |- |sample() |sample |데이터가 너무 방대해 계산이 오래걸리는 경우. 무작위 추출로 연산을 줄인다. |sample(추출범위, 추출갯수, 복원추출여부) sample(2:30, 4, replace=False) False인 경우, 비복원추출을 하겠다는 것. |- |seed() | |무작위 결과값을 고정시켜야 할 때. |set.seed(아무숫자) 숫자에 무작위 결과값이 저장된다. |} ==GUI로 보기== ===data editor. 자료편집기.=== 스프레드시트 형태의 데이터 편집기다. R concole에서 편집>데이터 편집기를 선택하거나 fix(데이터셋), edit(데이터셋)을 명령으로 실행하면 된다. ====입력방법==== 데이터셋 <- edit(data.frame()) 을 명령한 후 자료입력하고 저장하면 데이터셋에 자료가 입력된다. ==이상치(outlier) 다루기== 전체 데이터를 요란시키는 괴상한 데이터. 일반적으로 1분위수와 3분위수 차이의 1.5배만큼 커다랗게 벗어난 값을 이상치라 부른다. {| class="wikitable" |+이상치를 구하는 과정 ! ! |- |분위수 구하기 |1분위수, Q1=quntile(데이터, probs=c(0.25), na.rm=True) 3분위수, Q3=quntile(데이터, probs=c(0.75), na.rm=True) |- |울타리 구하기 |LC=Q1 - 1.5*(Q3-Q1) UC=Q3 + 1.5*(Q3-Q1) |- |울타리를 넘으면 이상치 이상치를 모은 부분집합 |데이서텟 = subset(데이터셋, 데이터>LC & 데이터<UC) |} ==결측치 다루기== 다양한 연산들에서 결측치를 생략하고 계산하고자 한다면 뒤에 <code>na.rm=True</code>를 붙여주면 된다. ex) <code>sum(데이터셋[범위], na.rm=True)</code> 결측치가 포함된 연산은 결과를 NA로 내버리곤 한다; 이런 경우 위의 na.rm=True를 포함하여 계산함수를직접 만들어주어 오류를 피해가야 한다. {| class="wikitable" !의도 !방법 ! |- |열별 결측치 카운팅 |colSums(is.na(데이터셋)) | |- |결측치가 들어간 행 지우기 |데이터셋 = na.omit(데이터셋) |그러나, 결측치 비율이 상당할 경우 위험한 작업이다. |- |특정 데이터에 결측치가 들어간 경우 삭제 |<code>데이터셋 = 데이터셋[complete.cases(데이터셋[범위]), ]</code> | |- |결측치에 일정 값 부여 |데이터[is.na(데이터)] = 일정값 |일반적으로 연속형변수의 경우, 평균으로 대체하고, 이산현병순의 경우, 최빈값으로 대체한다. |} ==중복값 제거하기== 중복데이터를 제거해야 한다. 하나하나 지우기는 너무 어려우니까.. {| class="wikitable" !이름 !기원 !기능 !사용법 |- |unique() |unique |1차원 벡터의 경우 사용한다. |unique(벡터) |- | rowspan="3" |duplicate() | rowspan="3" | |2차원 이상일 때. 기본적으로 맨 위의 값을 살려두고 다음에 등장하는 것부터 지운다. 하나라도 같은 항목이 있으면 지운다.(비추천) |<code>새로운데이터셋 = 데이터셋[-which(duplicated(데이터셋)), ]</code> |- |해당 열 안에서 중복되면 지운다. |<code>새로운데이터셋 = 데이터셋[-which(duplicated(데이터셋$열이름1)), ]</code> |- |고려해야 하는 변수가 여러개일 때. 열이름 대신 열 번호를 사용해도 된다. |<code>새로운데이터셋 = 데이터셋[!(duplicated(데이터셋[ , c('열이름1', '열이름2', ...)]), ]</code> |} ==워킹 디렉터리 바꾸기== setwd("C:/주소/") 로 변경한다. == 코드 실행시간 검사하기 == tictoc::tic() 측정할 코드 위에 붙여서 코드실행이 얼마나 걸리는지 보여준다.(틱이 나오고 톡이 나올 때까지의 시간) ==인코딩 에러== Not all characters in 주소 could be decoded using CP949. To try a different encoding, choose "File | Reopen with Encoding..." from the main menu. {| class="wikitable" |+ !항목 !설명 |- |원인 |맥이나 리눅스에서 UTF-8로 인코딩된 파일이 windows로 건너올 때 디폴트 인코딩이 다른 것으로 되어있기 때문. |- |해결 |RStudio를 쓴다면 File>Reopen with Encoding 에서 UTF-8을 지정해주면 간단히 해결된다. 코드에서 읽어오는 경우라면 encoding="UTF-8" 옵션을 주면 된다. |}
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:R
(
편집
)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보