데이터분석/R 썸네일형 리스트형 [R 프로그래밍] 산술, 할당, 비교 연산자 #산술 연산자 연산자설명 A + B A 더하기 B A - B A 빼기 B A * B A 곱하기 B A / B A 나누기 B A ** B A의 B제곱 (거듭제곱) 2**3 == 8 A ^ B A의 B제곱 (거듭제곱) 2^3 == 8 A %/% B A를 B로 나눈 몫 7 %/% 2 == 3 A %% B A를 B로 나눈 나머지 7 %% 2 == 1 #할당 연산자- 특정 객체의 이름에 특정 값을 저장할 때 사용한다. 연산자 설명 A 도 쓸 수는 있지만 안쓰는 것이 좋다고 함. A = B B의 값을 A에 저장 #비교 연산자 연산자 설명 A > B A가 B보다 크다 A >= B A가 B보다 크거나 같다 A 3 ) & ( B > 3 )[1] FALSE FALSE TRUE.. 더보기 [R 프로그래밍] as함수로 데이터 유형 강제로 변경하기 #as.XX() 함수로 데이터 유형 강제로 변경하기 데이터 유형의 우선 순위character > numeric > logical 우선순위가 낮은 타입에서 높은 타입으로 변화는 가능.예) numeric을 character로 변경하거나, logical을 numeric으로 변환하는 것은 가능 우선순위가 높은 타입에서 낮은 타입으로 변경하는 것은 일부만 되고 일부는 안됨. #자료형이 logical인 testdf2를 생성하고 numeric으로 변경하는 것은 가능> testdf2 testdf2[1] FALSE TRUE TRUE #numeric으로 변경 가능> as.numeric(testdf2)[1] 0 1 1 #다시 logical로 변환하는 것도 가능> as.logical(testdf2)[1] FALSE TRUE .. 더보기 [R 프로그래밍] 데이터 유형의 종류 및 데이터 유형 확인하기 #데이터 타입타입 설명 character 문자형 텍스트로 구성되어 있으며 "text" 와 같은 형태로 표시된다. 숫자도 "10"이나 '10'처럼 따옴표로 묶여 있으면 문자형이 된다. 산술, 논리연산은 할 수 없다. 비교 연산은 인코딩 형태에 따라 문자 코드 기준으로 가능하다. numeric 수치형 숫자로 구성된 데이터로 int와 double은 이 수치형에 포함된다. 산술, 비교, 논리 연산이 모두 가능 int 정수형 double 실수형 logical 논리형 TRUE, FALSE 로 구성되어 있다. T, F로 줄여서도 사용할 수 있다. 변수 명으로 사용할 수 없고 대소문자를 구분하니 주의하자. 비교 연산을 할 수 있다. complex 복소수형 a + bi와 같이 복소수 형태로 구성된 데이터로 허수가 포함되.. 더보기 [R 프로그래밍] ggplot2 패키지의 함수로 그래프 그리기 (ggplot2) #그래프 만들기# data : 사용할 데이터# aes : 축 설정. x축, y축에 어떤 데이터를 사용할 지 설정할 수 있다. #아래 내용은 dataSample 테이블을 사용하고 x 축은 class컬럼의 값, y축은 math컬럼의 값을 사용하겠다는 의미ggplot(data = dataSample, aes(x=class, y=math)) #이렇게 해서 실행하면, 축만 세팅되고 아직 그래프가 표시되지 않는다.#어떤 그래프를 쓸 것인지 설정하지 않았기 때문 #그래프 종류 geom_point() 산점도 geom_col() 막대그래프 X축, Y축을 모두 설정 geom_bar() 막대그래프 X축만 설정, Y축은 해당 데이터의 수량 geom_line() 선 그래프 geom_boxplot() 박스 그래프 #dataSam.. 더보기 [R 프로그래밍] 데이터 보기 - table() 함수 #table()함수는 데이터의 빈도를 보여준다.> test id test1 test21 1 10 252 2 10 353 3 20 254 4 30 355 5 30 456 5 30 45 > str(test)'data.frame':6 obs. of 3 variables: $ id : num 1 2 3 4 5 5 $ test1: num 10 10 20 30 30 30 $ test2: num 25 35 25 35 45 45 #table함수를 써서 test 데이터의 test1의 컬럼을 출력해보면, 값들이 다음 빈도 수를 보여준다.table(test$test1) > table(test$test1) 10 20 30 2 1 3 ###자세한 건...더 알아가면 보완하는 걸로.. 더보기 [R 프로그래밍] dplyr 패키지 함수들 #dplyr함수들은 %>%로 여러 함수를 조합해서 사용 가능 # 여러 함수 조합하기dataSample %>% select (test, test1, test2) %>% filter ( test >= 30) %>% head (3) #head()함수 # 해당 데이터의 일부만 출력한다.dataSample %>% head(5) #filter() 함수http://realab.tistory.com/7 # 특정 조건 만족 데이터 추출dataSample %>% filter ( test > = 30) # AND 조건 체크 (조건 모두 만족)dataSample %>% filter ( id == 1 & test > 30) # OR 조건 체크 (조건들 중 하나 이상 만족)dataSample %>% filter ( test1 >.. 더보기 [R 프로그래밍] 데이터 가공 - distinct() 함수로 유니크한 값 추출하기 (dplyr) #dplyr 패키지library(dplyr) #distinct() 함수로 유니크한 값 추출하기#distinct(데이터, 컬럼) 입력 시 입력한 컬럼의 유니크 값만 추출한다. > test id test1 test21 1 10 252 2 10 353 3 20 254 4 30 355 5 30 45 #test1에서 중복된 값은 모두 제거하고 유니크한 값만 표시한다.distinct (test, test1) test11 102 203 30 #id와 test1의 값을 모두 체크해서 유니크 한 값만 표시한다.distinct (test, id, test1) id test11 1 102 2 103 3 204 4 305 5 30 #####base 패키지의 unique() 함수와 duplicated() 함수도 유사하게 사용할.. 더보기 [R 프로그래밍] 데이터 프레임 생성 시 stringsAsFactors 옵션 사용하기 data.frame()으로 데이터프레임을 생성할 때, 변수에 문자가 있을 경우 자동으로 factor타입으로 변환된다.하지만 factor 변수는 연산이 되지 않으므로 stringsAsFactors() 함수를 써서 factor타입으로 변환되지 않게 한다. 사용법stringsAsFactors = #dataFrame생성 시 stringsAsFactors를 사용한 경우fuel str(fuel)'data.frame':5 obs. of 2 variables: $ f1 : chr "c" "d" "e" "p" ... $ price_f1: num 2.35 2.38 2.11 2.76 2.22 #dataFrame생성 시 stringsAsFactors를 사용하지 않은 경우fuel str(fuel)'data.frame':5 ob.. 더보기 [R 프로그래밍] 데이터 가공 - 데이터 합치기 : left_join(), bind_rows() (dplyr) #dplyr 패키지의 left_join() 및 bind_rows()를 사용해서 열 및 행 합치기library(dplyr) #특정 컬럼을 기준으로 열 합치기 #left_join()을 사용해서 class컬럼을 기준으로 데이터 합치기#아래 테이블을 class를 기준으로 합쳐보자 > math_test_total class midterm final1 1 88 782 2 75 853 3 78 684 4 77 795 5 96 86 > class_name class name1 1 햇님반2 2 달님반3 3 별님반4 4 꽃님반5 5 풀님반 #left_join(테이블A, 테이블B, by="기준으로 삼을 컬럼 명")#math_test_total 테이블과 class_name을 class기준으로 합치려면 다음과 같이 입력한다.m.. 더보기 [R 프로그래밍] 데이터 가공 - 그룹 별로 나눠서 요약 정보 보기 group_by(), summarise() (dplyr) #group_by()#데이터를 그룹 별로 묶기#데이터에서 특정 컬럼을 지정해서 그룹 별로 묶을 수 있다. #dataSample에서 class 별로 묶기dataSample %>% group_by(class)> exam %>% group_by(class)# A tibble: 20 x 5# Groups: class [5] id class math english science 1 1 1 50 98 50 2 2 1 60 97 60 3 3 1 45 86 78 4 4 1 30 98 58 5 5 2 25 80 65... -> A ttible : 데이터가 5열, 20행으로 이루어졌다는 것을 표시-> Group : class별 그룹이 5개가 생긴다. 그룹을 나눠서 보여주지는 않지만...group_by()는 출력한 결과를 .. 더보기 이전 1 2 다음