[사용된 함수]

함수명

설명

length()

벡터 길이 반환

append()

벡터에 데이터 추가 함수

%*%

행렬곱 연산자

names()

벡터에 이름 지정

seq()

일련의 숫자 반환

rep()

벡터 반복 함수

%in%

문자형과 숫자형을 구분하지 않음, 논리값 반환


[벡터]

1
2
3
4
5
6
7
> #벡터
> aa <- c(1,2,3,4,5) ;aa  #모두 숫자형으로 이루어진 벡터
[11 2 3 4 5
> aa <- c(1:5); aa # 모두 정수형으로 이루어진 벡터
[11 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
[11 2 3 4 5
> vec1[3]  # 3번째 요소 값만 보여줌.
[13
> vec1[-3]  # 3번째만 빼고 보여줌.
[11 2 4 5
> length(vec1) # 벡터 길이 반환
[15
> vec1[1:(length(vec1)-2)]  #vec1 의 총 길이에서 2 개를 뺀 개수만큼 출력
[11 2 3
> vec1[-1:-3]  #1번에서 3번까지 요소를 뺀 나머지만 출력
[14 5
> vec1[c(2,4)] # 2,4 번째 값만 나옴
[12 4
> vec1[-c(2,4)] # 2, 4번째 값 제외
[11 3 5
> vec1[c(-2,-4)] #위와 같음
[11 3 5
> 
> vec1[2<- 6  ;vec1 #vec1[2] 항목의 값을 6으로 변경
[11 6 3 4 5
> vec1 <- c(vec1,7) ;vec1  # 벡터에 새로운 내용 추가
[11 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 은 가장 앞자리라는 의미
 [111  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) # 각 자리끼리 더함
[15 7 9
> c(1,2,3+ 1 # 순차적 재활용
[12 3 4
> 
> var1 <- c(1,2,3)
> var2 <- c(3,4,5)
> var1 + var2
[14 6 8
> c(1,2,3* 2
[12 4 6
> c(1,2,3+ c(1)
[12 3 4
> c(1,2,3+ c(1,2)
[12 4 4
Warning message:
In c(123+ c(12) :
  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
[11 2 3 4 5
> var6 <- seq(2,-2) ; var6
[1]  2  1  0 -1 -2
> var7 <- seq(1,10,2) ; var7  #2씩 증가시키면서 값을 할당
[11 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 
[11 2 3 1 2 3
> var10 <- rep(1:3,each=3) ; var10 #각각 3번
[11 1 1 2 2 2 3 3 3
> var11 <- rep(1:3, times=2, each=3); var11 #동시에 있을 경우 each가 times보다 먼저 실행됨.
 [11 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

+ Recent posts