기본 콘텐츠로 건너뛰기

R의 기본 연산자




 앞서는 긴 서론이었고 이제부터가 본론이라고 할 수 있습니다. 일단 R 스튜디오를 시작한 후 이제 가장 기본인 기초 연산 및 대입에 대한 이야기를 해보겠습니다. R은 계산기로 활용할 수 있는데, 조작 방법은 물론 매우 단순합니다. 


 참고로 R 콘솔이 아니라 R 스튜디오를 사용하는 경우 보통 왼쪽 상단에 띄우는 코드 입력창 이외에 아래 있는 콘솔창에 넣어도 같은 결과를 얻을 수 있습니다. 다른점은 콘솔 창에는 코드와 함께 결과가 뜬다는 점 정도입니다. 여기서는 동시에 결과를 알 수 있도록 콘솔창을 기준으로 설명합니다.  




 기본 연산자는 +, -. *(곱하기), / (나누기) 가 있습니다. 이외에도 정수 나눗셈을 의미하는 %/%, 나머지를 의미하는 %%, 거듭 제곱을 의미하는 ^ 혹은 ** 이 주로 사용되는 연산자입니다. 이를 이용해서 위에 보이는 것 같은 간단한 연산을 할 수 있으며 더 복잡한 연산도 물론 가능합니다. 연산 순서를 정해주기 위해서 일반적으로 하듯이 ()를 사용합니다. 

예를 들어 (10-5)/4 에 40을 곱하는 경우 

> ((10-5)/4)*40

[1] 50

 로 입력하는 것입니다. 

 루트를 씌우고 싶다면 sqrt 명령어를 사용합니다. √2는 

 > sqrt(2)
[1] 1.414214

 그런데 여기서 한 가지 재미있는 점이 있습니다. 숫자가 7개 표시된다는 것입니다. R에서 기본 유효 숫자는 7개가 기본입니다. 물론 표시가 그렇게 되는 것이고 실제로는 더 아래 값을 지닌채 변수로 작용합니다. 이 차이를 알려면 다시 제곱을 해보면 알 수 있습니다.  


> (1.414214)^2
[1] 2.000001
> (sqrt(2))^2
[1] 2



 1.414214에 제곱을 하면 정확하게 2가 나오지 않지만, 연산자에서 제곱을 하면 분명하게 나타납니다.  그런데 여기서 한 가지 질문입니다. 유효 숫자가 7개면 그보다 큰 숫자는 어떻게 표시를 할까요. 예를 들어 10의 10제곱 (즉 100억)을 해봅시다.  

 > 10^10
[1] 1e+10


 여기서 이런 표현에 익숙하지 않은 사용자라면 좀 당황할 표현이 등장합니다. e+라는 이 표시는 무엇일까요? 이는 숫자의 과학적 표기법 (scientific notation) 의 일종입니다. 6.022 X 10^23 은 6.022e+23으로 나타낼 수 있습니다. 1 뒤에 10일 열번 써주는 대신 1e+10으로 표현한 것이죠. 더 상세한 내용에 대해서는 과학적 표기법에 대한 위키 항목을 참조하세요. 아무튼 별로 어려운 내용은 아닙니다.  





 그러면 3√ 를 하고 싶다면 어떻게 할까요. 이는 1/3을 제곱하면 가능합니다. 사실 sqrt는 (1/2) 의 거듭제곱으로 나타낼 수 있습니다.  


> 3^(1/3)
[1] 1.44225
> 2^(1/2)
[1] 1.414214


 물론 이런 기본 연산자 이외에도 삼각함수, 로그 등 다양한 연산자와 함수가 존재합니다. 예를 들면 로그의 경우 log10(X)를 지정하면 밑이 10인 상용로그를 의미하고 log(X)는 e 가 밑인 로그가 되는 것입니다. 


> log(10)
[1] 2.302585
> log10(10)
[1] 1  


 e^x는 exp(x)로 표시합니다. 

 > exp(1)
[1] 2.718282


 이와 같은 연산자는 R을 이용한 데이터 분석과 처리에 기본입니다. 물론 이를 이용해서 R을 계산기 목적으로 사용하는 일도 가능합니다. 다음에는 계속해서 변수를 대입 및 벡터에 대해서 이야기하겠습니다. 






댓글

이 블로그의 인기 게시물

벨 V-280 Valor 시험 비행 성공

( The V-280 Valor flew for the first time at Bell Helicopter's Amarillo Assembly Center in Texas(Credit: Bell Helicopter/YouTube) )  앞서 소개드린 V-280 발러가 첫 번째 비행 테스트에 성공했다는 소식입니다. V-22 오스프리의 소형화 버전이라고 할 수 있는 V-280 발러는  미 육군의 차세대 헬기 사업인 Future Vertical Lift (FVL)에 입찰을 시도하는 틸트로터기로 현재 미 육군이 주력으로 사용하는 블랙호크 헬기와 비슷한 체급입니다. 다만 틸트로터기인 만큼 최고 속도나 항속 거리면에서 더 유리합니다. 스펙은 이전 포스트를 참조해 주시기   이전 포스트:  https://blog.naver.com/jjy0501/221115245986  (동영상)   V-280 발러는 틸트로터기의 더 대중화 될 수 있을지를 검증하는 중요한 무대가 될 것입니다. V-22 오스프리의 경우 복잡한 구조로 인해 가격이 너무 비싸져서 사실 미국은 몰라도 그 동맹국에 널리 도입되기는 어려운 부분이 있습니다. V-280 역시 가격이 아주 저렴할 것 같지는 않지만, 좀 더 합리적인 대안은 될 수 있을 것 같습니다. 만약 성공적인 결과가 나오면 한국을 포함한 미국의 동맹국에서 도입을 검토할 수 있을지 모르겠다는 생각입니다.   참고  https://newatlas.com/bell-v-280-valor-maiden-flight/52663/

100 테슬라급 자기장 도달

 미국의 로스 알라모스 국립 연구소 (Los Alamos National Laboratory) 에서 과학자들이 지금까지 인간이 개발한 가장 강력한 자기장을 발생시키는 장치 개발에 도전하고 있습니다. 자기장의 세기를 나타내는 방법으로 자기력선의 밀도를 나타내기 위해 단위 면적당 자기력선의 수를 표시하는 단위인 테슬라 (T) 가 있습니다. (1T = 1Wb/㎡  웨버 (Wb) 는 자속의 단위)   의료용으로 사용되는 초전도체를 이용한 MRI 의 경우 1.5 - 3 테슬라급의 강력한 자기장으로 인체 내부를 볼 수 있게 만들지만 과학 연구용으로 이보다 더 강력한 자기장이 필요할 수 있습니다. 최근에 등장한 90 테슬라급 자기장에 이어 이번에 로스 알라모스 국립 연구소에서는 100 테슬라급인 100.75 T 를 실현 했다고 합니다.   이를 구현한 것은 18000 파운드 (8.16 톤 정도) 의 코일과 여기에 에너지를 공급할 1200 메가줄 (Megajoule) 급 모터 제네레이터등의 설비입니다.  (   The 1,200-megajoule motor generator that powers the magnetic pulse.  )  이와 같은 연구를 통해 알아내고자 하는 것은  Quantum Phase transitions and new ultra high field magnetic states Electronic Structure determination Topologically protected states of matter  로 요약할 수 있다고 합니다.   아무튼 수 T 급 MRI 만 해도 자기장의 힘이 엄청난데 100 T 라니 엄청난 자기장이네요. 이는 지구 자기장 세기보다 200만배 강력한 (물론 좁은 범위에서 작용하는 자기장이라 지구 전체...

고대 양서류 이야기 (2) - 악어를 닮은 거대 양서류들

  페름기에는 다양한 양막류가 진화해서 앞서 소개한 육상형 템노스폰딜리는 점차 설 자리를 잃게 됩니다. 하지만 양서류는 본래 자신의 서식지인 물과 습지에서 여전히 번성을 누렸습니다. 당시에는 악어류 같은 대형 양서형 파충류도 없던 시절이었기 때문에 이와 비슷한 생태학적 지위는 여전히 양서류의 몫이었습니다. 이들에 대한 이야기는 제 책인 포식자에서 비교적 간단히 다뤘는데, 오늘은 여기에 대한 보충 설명입니다.  책 정보:  http://book.naver.com/bookdb/book_detail.nhn?bid=13347200 Yes 24:  http://www.yes24.com/24/goods/58772859 11번가:  http://books.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=1977867160 알라딘:  http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=134877825 교보문고:  http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788970447988&orderClick=LAG&Kc= 인터파크 :  http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=279593764&sc.saNo=003002003&bid1=search_auto&bid2=detail&bid3=prd_img&bid4=001 영풍문고:  http://www.ypbooks.co.kr/book.yp?bookcd=100843205&gubun=NV ...