강의영상

- (1/1) 벡터의 원소를 뽑는법, 메인플랏과 서브플랏, 주석이용법

벡터의 원소를 뽑는 방법

x<-c(1,2,-2,4,5,-5,6)
x
[1]  1  2 -2  4  5 -5  6

원소들의 번호를 불러서 뽑아낸다.

- 첫 원소를 뽑고싶다.

x[1]
[1] 1

- 세번째 원소를 뽑고싶다.

x[3]
[1] -2

- 첫번째부터 세번째까지의 원소를 뽑고싶다.

x[1:3]
[1]  1  2 -2
x[c(1,2,3)]
[1]  1  2 -2

- 2,5,6 번째의 원소를 뽑고싶다면?

x[c(2,5,6)]
[1]  2  5 -5

- 3번째 원소를 제외하고 호출

x[-3]
[1]  1  2  4  5 -5  6

- 3,4번째의 원소를 제외하고 호출

x[c(-3,-4)]
[1]  1  2  5 -5  6
x[-(3:4)]
[1]  1  2  5 -5  6

어떠한 조건을 주고, 그 조건에 만족하는 원소 (혹은 만족하지 않는 원소)를 뽑는법

x<-c(1,2,-2,4,5,-5,6)
x
[1]  1  2 -2  4  5 -5  6

- 양수인 원소를 뽑는법

(1) 양수인지 스스로 판단

(2) 양수라면 나간다.

x>0
[1]  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE

- x>0이 결과는 TRUE, FALSE가 포함된 벡터

x[x>0]
[1] 1 2 4 5 6

- 3보다 큰 원소를 뽑는 방법

x[x>3]
[1] 4 5 6

- 3번째 원소를 뽑아라.

array_ = c(FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)
array_
[1] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
x[array_]
[1] -2

- 값이 -2인 원소를 뽑아라.

x[x == -2]
[1] -2

- 응용예제

x<- c(1,2,3,4,5)
y<- x^2
x
[1] 1 2 3 4 5
y
[1]  1  4  9 16 25

$y=x^2=9$가 되도록 만드는 $x$를 알려줘!

x[y==9]
[1] 3

그림을 그릴 때 기억할 것

- 그림자체를 생성해주는 plot과 같은 명령이 있고, 생성된 그림에 덧붙여서만 그릴 수 있는 lines, points, abline 과 같은 함수가 있다.

- 생성된 그림에 덧붙여서 그릴 수 있는 함수들은 단독으로 쓸 수 없다.

x<-1:60/10 
x
 [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
[20] 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8
[39] 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7
[58] 5.8 5.9 6.0
y<-sin(x)
y
 [1]  0.09983342  0.19866933  0.29552021  0.38941834  0.47942554  0.56464247
 [7]  0.64421769  0.71735609  0.78332691  0.84147098  0.89120736  0.93203909
[13]  0.96355819  0.98544973  0.99749499  0.99957360  0.99166481  0.97384763
[19]  0.94630009  0.90929743  0.86320937  0.80849640  0.74570521  0.67546318
[25]  0.59847214  0.51550137  0.42737988  0.33498815  0.23924933  0.14112001
[31]  0.04158066 -0.05837414 -0.15774569 -0.25554110 -0.35078323 -0.44252044
[37] -0.52983614 -0.61185789 -0.68776616 -0.75680250 -0.81827711 -0.87157577
[43] -0.91616594 -0.95160207 -0.97753012 -0.99369100 -0.99992326 -0.99616461
[49] -0.98245261 -0.95892427 -0.92581468 -0.88345466 -0.83226744 -0.77276449
[55] -0.70554033 -0.63126664 -0.55068554 -0.46460218 -0.37387666 -0.27941550

- plot은 단독으로 그림을 만드는 함수, lines는 만들어진 그림에 덧붙이는 함수

plot(x,y,type='l',col='red')
lines(x,y^2,col='blue')

- lines를 먼저 사용하면 이미 만들어진 그림이 없는 상태이므로 error가 발생

lines(x,y^2,type='l',col='red')
plot(x,y,type='l',col='blue')
Error in plot.xy(xy.coords(x, y), type = type, ...): plot.new has not been called yet
Traceback:

1. lines(x, y^2, type = "l", col = "red")
2. lines.default(x, y^2, type = "l", col = "red")
3. plot.xy(xy.coords(x, y), type = type, ...)

- 다양한 명령어들 비교

  • plot(x,y)와 plot(x,y,type='l')을 비교해보기
  • plot(x,y)와 plot(x,y,col='red')를 비교해보기
  • plot(x,y)와 lines(x,y**2)를 같이 그려보기
  • plot(x,y)와 points(x,y**2)를 같이 그려보기

주석이용방법

- 사용법

a<- 1
a<- a+1
a<- a+1
print(a)
[1] 3
a<- 1 
#a<- a+1
a<- a+1 
print(a)
[1] 2

- 왜 쓰는지? (1) 코드 test (2) 설명을 쓰고싶을때

a<- 1 # a에 1을 대입하라. 
#a<- a+1
a<- a+1 # a의 값을 1증가하라. 
print(a)
[1] 2

숙제

아래의 4개중 하나를 골라 비교해보고 결과를 캡쳐하여 LMS에 제출

  • plot(x,y)와 plot(x,y,type='l')을 비교해보기
  • plot(x,y)와 plot(x,y,col='red')를 비교해보기
  • plot(x,y)와 lines(x,y**2)를 같이 그려보기
  • plot(x,y)와 points(x,y**2)를 같이 그려보기