[사용된 함수]
함수명 | 설명 |
length() | 벡터 길이 반환 |
append() | 벡터에 데이터 추가 함수 |
%*% | 행렬곱 연산자 |
names() | 벡터에 이름 지정 |
seq() | 일련의 숫자 반환 |
rep() | 벡터 반복 함수 |
%in% | 문자형과 숫자형을 구분하지 않음, 논리값 반환 |
[벡터]
1 2 3 4 5 6 7 | > #벡터 > aa <- c(1,2,3,4,5) ;aa #모두 숫자형으로 이루어진 벡터 [1] 1 2 3 4 5 > aa <- c(1:5); aa # 모두 정수형으로 이루어진 벡터 [1] 1 2 3 4 5 > c(1,2,3,4,"5") #마지막 요소가 문자라서 모두 문자로 변환됨. [1] "1" "2" "3" "4" "5" | cs |
[특정 위치 값 제어]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | > #특정 위치 값 제어 > vec1 <- c(1,2,3,4,5) ; vec1 [1] 1 2 3 4 5 > vec1[3] # 3번째 요소 값만 보여줌. [1] 3 > vec1[-3] # 3번째만 빼고 보여줌. [1] 1 2 4 5 > length(vec1) # 벡터 길이 반환 [1] 5 > vec1[1:(length(vec1)-2)] #vec1 의 총 길이에서 2 개를 뺀 개수만큼 출력 [1] 1 2 3 > vec1[-1:-3] #1번에서 3번까지 요소를 뺀 나머지만 출력 [1] 4 5 > vec1[c(2,4)] # 2,4 번째 값만 나옴 [1] 2 4 > vec1[-c(2,4)] # 2, 4번째 값 제외 [1] 1 3 5 > vec1[c(-2,-4)] #위와 같음 [1] 1 3 5 > > vec1[2] <- 6 ;vec1 #vec1[2] 항목의 값을 6으로 변경 [1] 1 6 3 4 5 > vec1 <- c(vec1,7) ;vec1 # 벡터에 새로운 내용 추가 [1] 1 6 3 4 5 7 > vec1[9] <- 9 ; vec1 # 추가되는 자리 사이에 빈자리가 있어도 용납 [1] 1 6 3 4 5 7 NA NA 9 | cs |
1 2 3 4 5 6 7 8 9 | > #append 함수 > append(vec1,10,after=3) #3번째 다음 위치에 10을 넣음 [1] 1 6 3 10 4 5 7 NA NA 9 > append(vec1,c(10,11),after=2) [1] 1 6 10 11 3 4 5 7 NA NA 9 > append(vec1,11,after=0) #0 은 가장 앞자리라는 의미 [1] 11 1 6 3 4 5 7 NA NA 9 > append(vec1,11) # after을 지정하지 않으면 가장 마지막에 붙어넣음 [1] 1 6 3 4 5 7 NA NA 9 11 | cs |
[벡터 연산]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | > #벡터 연산 > c(1,2,3) + c(4,5,6) # 각 자리끼리 더함 [1] 5 7 9 > c(1,2,3) + 1 # 순차적 재활용 [1] 2 3 4 > > var1 <- c(1,2,3) > var2 <- c(3,4,5) > var1 + var2 [1] 4 6 8 > c(1,2,3) * 2 [1] 2 4 6 > c(1,2,3) + c(1) [1] 2 3 4 > c(1,2,3) + c(1,2) [1] 2 4 4 Warning message: In c(1, 2, 3) + c(1, 2) : longer object length is not a multiple of shorter object length > > #[참고] %*% 행렬곱 > var1%*%var2 [,1] [1,] 26 > var1*var2 [1] 3 8 15 | cs |
1 2 3 4 5 6 7 8 9 10 11 | > # names()함수 > fruits <- c(10,20,30) > names(fruits) <- c("apple","banana","peach") ; fruits #벡터에 이름 지정 apple banana peach 10 20 30 > fruits[3] peach 30 > fruits["apple"] # 이름으로 값 찾기환 apple 10 | cs |
1 2 3 4 5 6 7 8 9 | > #seq()함수 > var5 <- seq(1,5) ; var5 [1] 1 2 3 4 5 > var6 <- seq(2,-2) ; var6 [1] 2 1 0 -1 -2 > var7 <- seq(1,10,2) ; var7 #2씩 증가시키면서 값을 할당 [1] 1 3 5 7 9 > var8 <- seq(1,10,length.out=5) ; var8 #5등분 [1] 1.00 3.25 5.50 7.75 10.00 | cs |
1 2 3 4 5 6 7 | > #rep() 함수 > var9 <- rep(c(1,2,3),2) ; var9 [1] 1 2 3 1 2 3 > var10 <- rep(1:3,each=3) ; var10 #각각 3번 [1] 1 1 1 2 2 2 3 3 3 > var11 <- rep(1:3, times=2, each=3); var11 #동시에 있을 경우 each가 times보다 먼저 실행됨. [1] 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 | cs |
[%in%]
1 2 3 4 5 6 7 8 9 | > # %in%은 문자형과 숫자형을 구분하지 않음, 논리값 반환 > 3 %in% var7 #var7 에서 3 이 있는지 검색 후 논리값 반환환 [1] TRUE > 4 %in% var7 #var7 에서 4 가 있는지 검색함. [1] FALSE > "3" %in% var7 [1] TRUE > "4" %in% var7 [1] FALSE | cs |
출처 - 경영프로그래밍 강의 자료 (양성병 교수님)
'IT,인터넷 관련 학습 > R언어 학습' 카테고리의 다른 글
[R] 배열 (Array) (0) | 2019.05.11 |
---|---|
[R] 행렬 (Matrix) (0) | 2019.05.11 |
[R] R 자료형 (Data Type) (0) | 2019.05.11 |
빅데이터 통계학 (4) (0) | 2019.04.05 |
빅데이터 통계학 (3) (0) | 2019.04.05 |