유튜브를 보던 중 AI Warehouse 채널을 보고 흥미가 생겼다.

 

AI에게 자율성을 부여하고 마음대로 움직이는 대신 특정 행동을 통해 보상을 줌 으로써

학습을 통해 AI가 시간이 갈수록 성장하는 과정을 영상으로 편집한 영상이 전부이다.

 

영상의 업로드 주기가 긴 것을 보면 하나의 영상 당 소요되는 시간은 많이 소요되는 것으로 보이지만

8개 남짓한 영상으로 60만명의 구독자가 있다.

 

점점 성장하는 AI를 보며 단순히 보는 것 만으로도 재미가 있었고

나도 이런 저런 작업을 수행하도록 설정하고 성장하는 AI를 만들어보고 싶다는 생각이 들었다.

 

 

금방 지칠 것 같기에 더 진행이 될 것 같아도 최대 2시간만 하려고 한다.

이 카테고리는 그로인해 시작되는 기록이며 설치, 세팅, 개발, 디버깅 등의 모든 작업은 ChatGPT로 진행한다.

 

그럼 시작이다.

 

 

 

 

저 채널처럼 AI를 학습시키고 싶으나, 어떤 툴로 어떻게 시작해야 하는지 조차 모르니 GPT의 도움을 우선 받는다.

 

AI Warehouse 채널의 영상들은

RB(Reward-Based) Learning 게임이라고 하며

 

보상을 최대화하는 방향으로 AI가 스스로 학습하는 기법이라고 한다.

 

GPT가 추천해준 해당 RB 게임들 중 "퍼즐 AI문제를 해결하는 최적의 방법 찾기"를 목표로 우선 진행해보자.

 

 

3001 x 3001의 미로를 만들었고, A* 알고리즘으로 탐색을 한다고 한다 ...

알고리즘은 자세히 보지 않았고, 나중에 필요하면 공부 해 보겠다.

 

15초정도 걸렸는데 많이 복잡한 것 치고는 얼마 안 걸린 것 같기도 하다.

 

 

 

 

 

추가로 3D 미로로 구현해서 해보았다.

 

 

 

 

 

 

대학생때는 몇주가 걸려도 힘들었을 내용인데 GPT로 10분도 안되서 뚝딱 만들어버린다 .. 

 

회사에서도 느끼지만 데이터는 컴퓨터가 처리하고 번뜩이는 아이디어 싸움인데,

 

이런 새로운 걸 창조해내는 역할 또한 조만간 처리해주지 않을까 싶다. 

 

 

 

 

 

unity로 구현하는게 좀 더 좋을 것 같아서

unity를 설치하고 간단한 몇가지 세팅을 해주고 오늘은 끝을 내자.

 

 

 

 

이렇게 3D로 구현된 미로까지 만들었다. 

 

 

 

 

Tricky Castle

이전 공략 글

[모바일게임/퍼즐] - Tricky Castle | 공략 Level 21 ~ 25

[모바일게임/퍼즐] - Tricky Castle | 공략 Level 26 ~ 30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV.31

"Hidden Room"

 

숨겨진 방이 있는 라운드입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

레버를 당겨준 후 

 

이처럼 계속해서 올라가게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

네 저기에 깔려 죽어요 ㅎㅎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

고로 레버를 당기고 올라가는중에 계속 

 

우측벽에 붙어 있다보면 

 

저렇게 숨겨진 방이 생기고

 

버튼을 클릭하면 아까 있던 

 

그 트랩이 떨어지게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

아래로 뛰어내려 클리어해줍시다.

 

 

 

 

 

 

 

 

 

LV.32

 

 

"Green is Good" 

 

초록색이 좋다고 합니다.

 

초록색이 말하는대로 우측으로 가 봅시다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그냥 밟고 지나가져요

 

점프하지말고 그냥 밟고 지나갑니다.

 

 

 

 

 

 

 

 

 

 

 

왼쪽 방에

 

왼쪽밑에 있는 초록색 페인트 통이 있는데

 

 

 

 

 

 

 

 

 

 

 

이 페인트를 들어 팻말에 부어줍니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그러면 트랩이 이동하고 저 판자 위로 올라서게 되면

 

 

 

 

 

 

 

 

 

 

이렇게 안전바(?)가 생기고 올라가게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

위로 이동하면 이렇게 조그만 구멍으로 

 

페인트가 생기는데

 

저 페인트는

 

저희가 가진 손가락으로 이동이 가능합니다.

 

가져와서 밑에있는 팻말에 부어주세요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 길이 생기고 클리어가 됩니다.

 

 

 

 

 

 

 

 

 

LV.33

"Nice and easy" 쉽다고 합니다.

 

- 이거 깨는데 몇번 죽어야해요

 

한번에 꺠면 거짓말

 

 

 

 

 

 

 

 

 

 

 

 

일단 이렇게 가까이 이동해주시면 위에 있던 트랩이

 

아래로 떨어지게 됩니다.

 

딱 앞에까지만 저처럼 가서 서있고

 

멈춰주셔야해요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그 다음으로 이동하면

 

"You can't jump over"

 

못뛴다고해서

 

막 이것저것 터치해봤는데

 

그냥 뛰어집니다

 

뜁시다.

 

 

 

 

 

 

 

 

이쪽으로 이동해서

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

여기도 가까이 가주면 아까와 다르게

 

밑에서 새로운 트랩이 솟아 오르고

 

이걸 피해줍니다.

 

 

 

 

 

 

 

 

 

 

아래로 가면 위에 있는 트랩이 떨어지고

 

저처럼 위로 이동해주세요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"You DEFINITELY can't jump over" 

 

절대로 점프하지 마라고 하는데,

 

앞서서 있던 문구들이 전부 거짓말이었죠???

 

그냥 위로 가면 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 갇혀 죽어버리구ㅇ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

제가 캡처는 하지 못했는데

 

밑에 있는 그 가시밭길 트랩 한가운데로 점프하면

 

길이 생기면서 이처럼 아래로 떨어지게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

유유히 걸어나가줍시다.

 

 

 

 

 

 

 

 

 

 

 

LV.34

 

"Underground"

 

밑 이라는데

 

저희도 눈이 있는데

 

밑에있는건 당연히 알죠 참

 

 

 

 

 

 

 

 

 

 

 

문 앞으로 가다보면 

 

이상한걸 느끼실 겁니다.

 

밑에 있는 가시같은곳에서 흙이 휘날리는데,

 

수상합니다

 

 

 

 

 

 

 

 

 

 

점프를 해 줬더니 균열이 더 일어납니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

오른쪽 벽에 살짝 나온 모서리를 밟고

 

높은곳에서 점프를 했더니 더 커집니다.

 

 

 

 

 

 

 

 

 

 

 

 

여기 숨겨진 방이 있네요

 

이 방에서 뛰면 정말 부서질것 같은 느낌적인 느낌 적인 느낌적 인 느낌이 있죠

 

뛰어줍시다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 바닥에 구멍이 뚫리며 아래로 떨어지게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

통로를 거쳐 

 

 

 

 

 

 

 

 

 

 

 

 

레버를 열어 벽에 구멍을 내주고

 

열쇠를 들어

 

 

 

 

 

 

 

 

 

 

 

 

 

탈출해줍니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV.35

 

정말 누가봐도

 

저 움직이는 트랩들을 잘 피해피해서

 

끝에있는 열쇠를 들고

 

다시 되돌아와서

 

문에 열쇠를 꼽는건데

 

 

 

 

 

그렇게 단순하지 않겠죠??

 

 

 

 

 

 

 

 

 

 

 

왠지 모르게 네번째에 있는 이 트랩이 마음에 안드니까

 

여기서 죽어줍시다 하고 뛰어내리면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

죽지않고 구멍이 뚫립니다.

 

정말 여기 네번째 트랩에서만요 ..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

쭈욱 이동해서 탈출해줍시다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tricky Castle Level 26 ~ 30 공략을 진행하겠습니다.

 

이전 포스팅

[모바일게임/퍼즐] - Tricky Castle | 공략 Level 21 ~ 25

 

Tricky Castle | 공략 Level 21 ~ 25

안녕하세요 이번 소개해드리면서 같이 공략을 올리는 게임은 Tricky Castle이고 정말 단순한 킬링타임용 게임으로 적절합니다. 재밌습니다. Level 1 ~ 20은 간단해서 바로바로 쉽게 하실 수 있을겁니��

pmgreviewer.tistory.com

 

 

 

 

 

 

 

 

 

 

 

 

 

LV. 26

첫 시작화면입니다.

 

우선 사람의 본능으로 문을 열어보면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 다양한 트랩들이 보입니다.

 

이 상태에서 트랩을 밟아도 죽지 않습니다.

 

하지만 자세히 보시면 왼쪽 상단에 있던 키 또한 사라졌다는게

 

보이실 겁니다.

 

 

 

 

 

 

 

 

 

따라서 저희는 해당 트랩들을 이 화면에서 피해서

 

통과해 주시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

트랩의 위치는 이렇게 되어 있으니

 

잘 피해 가셔서 열쇠를 획득해주세요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 열쇠를 꼽아주면

 

클리어됩니다.

 

 

 

 

 

 

 

 

 

LV. 27

 

문구가 등장했습니다.

 

"Inconspicucous staris"

 

눈에 보이지 않는 계단이라 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

일단 모르겠고 저희는

 

아마 저 레버를 당기고 싶어질 겁니다.

 

 

 

 

 

 

 

 

당기면 죽어요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

왼쪽에 보시면 벽돌처럼 되어있는 문양이

 

"눈에 띄지않는 계단"인 겁니다.

 

 

 

 

 

 

 

 

 

 

 

밟고 올라서서 쭉 진행해주시면 클리어 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV. 28

저 트랩이 박힌 기둥이

 

끊임없이 돌아갑니다.

 

그리고 저희는 문구를 확인 하죠

 

 

 

 

"Find a way to stop them"

 

이 기둥들을 멈출 방법을 찾아라.

 

 

 

 

이 게임상에서 멈출 수 있는게 뭐가 있는지 찾아보시면

 

우측 상단에 게임 자체를 멈출 수 있는 기능이 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

하나의 팁(?)이 있는데

 

이렇게 우측 상단의 일시정지 버튼을 누르면

 

일시 정지가 되어 버리는데

 

저렇게 기둥들이 세워져있으면

 

화면속의 저처럼 그냥 가다가 죽어버립니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 죽고 나서

 

기둥을 확인하면

 

가로로 정렬되어 편하게 가실 수 있습니다.

 

그대로 통과해주시면

 

클리어 됩니다.

 

 

 

 

 

 

 

 

 

 

LV. 29

이번 29 Level은 한번 해보시고

 

공략을 보시는걸 추천드립니다.

 

사실 모든 공략을 그렇게 해 보시기를 추천드립니다.

 

재밌어요 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 레버를 당기면 올라가고 내려가고 하게 됩니다.

 

일단 건너가기 위해 이렇게 올라와서

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

올려준 레버를 필히 다시 내려준 후

 

내려가는 노란색 레버로 내려가줍니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 저기있는 다이아몬드를 

 

획득하자마자

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 유령들이 몰려오는데

 

레버를 당겨서 올라가주고

 

미리 내려둔 레버덕에 

 

손쉽게 갈 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 다이아몬드를 이렇게 꼽아 주시면

 

유령들은 저쪽에 잡히게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 다시 문으로 통과 하시면 클리어가 되며

 

왼쪽으로 가면

 

무언가가 있습니다.

 

 

 

 

가보세요 한번 

 

 

 

 

 

 

 

 

LV. 30

30탄은 공략이라고 할 건 없고

 

화면상에 5마리의 박쥐가 있는데

 

해당 박쥐를 건드릴 때 마다

 

점화되어 있는 불꽃의 색깔이 변경되어

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 박쥐들이 한 노파를 ...

 

어 .. 노인을 .. 어 ..

 

마녀를 소환하게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

뭐....

 

극대노 하신거같죠??

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저때문에 박쥐가 사라져서

 

박쥐 100마리를 다시 찾아오라고 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이중인격이신건지는 모르겠는데 

 

갑자기 지금은 보내준다고 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

네 .. 그냥 갑시다.

 

 

다음 Level 31 ~ 35 공략을 진행하겠습니다.

 

 

 

 

이전 포스팅을 이어서 

 

4편을 진행하겠습니다.

 

이전 포스팅은 아래를 참조해주세요.

[모바일게임/롤플레잉] - 로그키우기 : 방치형 RPG | 공략 (1편)

[모바일게임/롤플레잉] - 로그키우기 : 방치형 RPG | 공략 (2편)

[모바일게임/롤플레잉] - 로그키우기 : 방치형 RPG | 공략 (3편)

 

 

 

 

 

 

 

 

 

 

 

 

 

잠깐 몇일동안 게임을 안했는데

 

그동안 "추종자"라는게 생겼네요

 

이부분에 대해서는 다음 포스팅에서 설명 드리고

 

이번 포스팅에서는

 

현재 제가 세팅되어 있는 능력치를 보여드리겠습니다.

 

 

 

 

 

 

 

 

 

 

만약 디아블로를 해보신 분이시라면 

 

극히 공감하실텐데

 

이 게임에서 가장 중요한 부분은

 

"크리티컬 확률"과

 

"크리티컬 데미지"입니다.

 

 

 

 

 

 

 

 

 

 

 

크리티컬 확률은 무조건 100%가 되어야 하며

 

크리티컬 데미지는 그와 비례해서 클수록 데미지가 강해집니다.

 

 

 

 

 

 

 

 

 

 

 

간단하게 산술적으로 계산해봅시다.

 

90%의 크리티컬 확률이 있고

 

1000%의 크리티컬 데미지가 있습니다.

 

보통 10번의 공격당 9번이 크리티컬 공격이 되고

 

1번은 일반 공격이 될 것입니다.

 

데미지가 100이라는 가정하에 계산해보면

 

 

 

( 100 x 1000% x 9 ) + (100 x 100% x 1) = 9,100의 데미지가 들어갑니다.

 

 

 

그리고 100%의 크리티컬 확률이 있고

 

1000%의 크리티컬 데미지로 계산을 하면

 

 

(100 x 1000% x 10 ) = 10,000의 데미지가 들어갑니다.

 

 

별반 차이가 없어 보이지만

 

만약 크리티컬 공격력이 극대화되어 많이 올라가게 된다면

 

 

 

 

 

90%의 확률로 5000%의 데미지를 입히고 들어가는 데미지가 300,000 이라고 가정한다면,

 

( 300,000 x 5000% x 9 ) + (300,000 x 100% x 1 ) = 135,300,000

100%의 확률로 4500%의 데미지를 입히고 들어가는 데미지가 300,000 이라고 가정한다면,

 

(300,000 x 4500% x 10 ) = 150,000,000

 

공격횟수가 10번이라는 가정하에 이렇게 계산이 되는데,

 

초당 공격횟수가 20회라고 가정하면 이의 두배가 되니

 

300,000,000 > 270,600,000

 

크리티컬 확률 10% 때문에 데미지 차이가 나게 되는데

 

생각보다 얼마 안하는 데미지이지만 누적이 된다면

 

어마어마해 질 것입니다.

 

 

 

 

 

 

그리고 이 게임이 

 

크리티컬 확률과 크리티컬 데미지라는 옵션이 들어갔다는 것만으로

 

스킬의 사용으로는 500%, 1000%, 3000% ,6000% 등의 데미지가 들어간다지만

 

한번의 스킬 소모당 들어가는 데미지이며,

 

초당 20의 공격속도를 가졌고 크리티컬데미지가 1500%이라고 가정한다면

 

1초에 3000%가 아닌 30000%의 데미지를 평타로 넣는다고 보시면 됩니다.

 

 

 

 

 

 

 

 

고로 앞선 스킬 및 유물 설명이 있는 공략을 찾아보시면 아시겠지만

 

저는 "평타"기반의 스킬과 유물을 추천 했었으며

 

이 또한 크리티컬과 밀접한 관련이 있다는 것을 확인하실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

현재 제 캐릭터의 능력치는 이와 같으며

 

(공격력 , 체력 , 초당 체력 회복량)은 아이템과 관련이 있다기보다

 

환생을 통한 강화 수치가 낮아져서 낮음을 말씀 드립니다.)

 

 

 

 

크리티컬 확률은 무조건 100%를 맞춰주시고

 

추가적인 요소는 크리티컬 데미지와 

 

공격속도(초당 공격속도)를 위주로 올리시고

 

 

 

혹여나 더 올릴수도 없고 다른 옵션들 중에 하나를 선택해야 한다면

 

제가 추천드린 유물중에 

 

"최대 마나수 % 1%" 캐릭터 공격력 증가 옵션이 있는 유물이 있는데

 

마나통을 키움과 동시에 (평타기반 캐릭이라 마나가 필요하지는 않음)

 

해당 캐릭터의 공격력의 해당 %만큼 올려줄 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

안녕하세요

 

이번 소개해드리면서 같이 공략을 올리는 게임은 Tricky Castle이고

 

정말 단순한 킬링타임용 게임으로 적절합니다.

 

재밌습니다.

 

 

 

 

 


Level 1 ~ 20은 간단해서 바로바로 쉽게 하실 수 있을겁니다.

 

바로 공략 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

LV. 20

 

일단 시작은 이런 화면과 같습니다.

 

게임 중간중간 저런 문구들이 나오는데

 

힌트같지도 않게 생겨서는 

 

완전 그냥 답안 그대로를 의미하는 것도 있으므로

 

유심히 읽어보시길 바랍니다.

 

 

 

 

 

"Nothing special" 

 

뭐 특별한것은 없다고 합니다.

 

하지만 길이 막혀있는데 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 밑쪽으로 가면 길이 하나 보이게 됩니다.

 

 

 

그리고 해당 문으로 들어가게 되면

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 해당 Level을 클리어 할 수 있는 열쇠가 있는데

 

너무 높이 있어 어떻게 하질 못합니다.

 

다시 되돌아 가봅니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 이 펫말로 오시면

 

손 그림이 뜨며 조작이 가능하다는것을 알 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이렇게 조작 후 다시 문을 보면

 

거꾸로 되어 있다는게 보입니다.

 

그리고 다시 이 방으로 들어가주시면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이처럼 거꾸로 화면이 되어 있고,

 

조작키 또한 거꾸로 움직이니 잘 사용해서 열쇠를 획득하고 

 

다시 돌아가 줍니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문으로 가져가면 해당 Level은 종료됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV. 22

 

글자를 먼저 봅시다

 

"RUN" 

 

일단 달리라고 합니다.

 

저기 보이는 가시는

 

달리다보면 그냥 자연스레 통과가 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이처럼요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 벽에 하나 날라오는데

 

피하지말고 달려가주세요

 

계속 ~

 

 

 

 

 

 

 

 

 

 

 

 

 

STOP이라는 문구와 함께 멈추게 되면

 

화살이 위에서 날라오게 됩니다

 

물론 주인공을 뚫고 지나갑니다.

 

 

 

 

 

 

 

고로 계속 달려야 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

마지막으로 레버가 보이고

 

상단에 공주(?)가 있는데

 

 

구하지말고 쌩까고 끝까지 가주시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV. 23

여기는 따로 글이 있지 않습니다.

 

버튼을 상자를 이용해 누르면 될 것 같죠

 

 

 

 

 

 

 

 

 

 

 

 

 

네, 이처럼 눌러 주시면 가운데 문이 열리면서

 

아래로 이동하시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그러면 이번에는 버튼이 4개가 생성되는데

 

이 또한 상자와 사람을 해당 위치로 이동시켜 

 

버튼을 누르게 해줍니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이처럼 이동이 되었다면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저희가 가진 손가락있죠?

 

그 손가락으로 나머지 두개의 버튼들을 눌러줍니다.

 

화면을 터지해주시면 됩니다 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV.24

 

"What does this botton do?"

 

버튼이 뭘 하는 버튼인지 물어보네요

 

우리가 알고있니 그걸 ..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

눌러주시면 드드르르르르르륵 하는 소리가 납니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 해당 문으로 들어가주시면 이렇게 돌이 있습니다.

 

빠르게 지나가지 않으면 원래는 아래의 그림처럼

 

철창이 나오게 되니 빠르게 해주시면 됩니다.

 

 

 

 

 

 

 

 

 

 

이동 하신 후 

 

돌을 아래로 떨어뜨려주세요

 

 

 

 

 

 

 

 

 

 

 

 

그 후 유유히 탈출하시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LV. 25

 

"Melt the Ice" 

 

얼음을 녹이라고 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

막 문질러 주세요

 

손가락으로 막 문지르면

 

이처럼 녹아 내립니다.

 

 

 

 

 

 

 

 

 

 

 

그리고 다 녹이지는 마시구

 

얼음을 밟고 박쥐를 잡게

 

이정도쯔음 만하게 녹인 후 

 

움직여서 박쥐를 잡아주세요

 

 

 

 

 

 

추 후 5 Level 씩 포스팅 하겠습니다.

 

 

 

 

 

 

R Language

그래픽 예제 뜯어보기

 

 

 

 

지난 포스팅을 나열해 드리겠습니다.

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

[IT/R] - R언어 | Part_4 차근차근 그래픽 예제 뜯어보기 3

 

 

 

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.



 

 

 

 

 

 

 

 

이번에는 polygon을 사용하여

 

그래프를 그려 보겠습니다.



 

 

 

 

 

 

 

polygon은 다각형, 각진 도형을 의미합니다.

 

 

 

 

 

 

 

폴리곤

 

어디서 많이 들어봤는데요

 

 

 

 

 

 

 

 

폴리곤이라 불리는 이 친구도

 

입체 다각형들의 집합입니다.

 

 

 

 

 

다각형 모양의 그래프는

 

들의 연결으로 선이 생기는데

 

다른 두 종류의 선 사이를 칠하면

 

다각형의 모양이 나오게 됩니다.

 

 

 

 

 

 

이번에도 demo함수를 사용하여 

 

진행하겠습니다.

 

 

 

 

 

 

 

 

 

아래는 전체 소스코드 입니다.

 

 

par(bg="white") n <- 100 x <- c(0,cumsum(rnorm(n))) y <- c(0,cumsum(rnorm(n))) xx <- c(0:n, n:0) yy <- c(x, rev(y)) plot(xx, yy, type="n", xlab="Time", ylab="Distance") polygon(xx, yy, col="gray") title("Distance Between Brownian Motions")

 

이번에도 한줄씩 한줄씩

 

실행을 해 보시고

 

어떤 순서로 어떻게 생성되는지 

 

알아보시기 바랍니다.

 

 

 

 

 

 

 

 

 

 

par(bg="white")

 

 

먼저 배경색을 흰색으로 만들어 줍니다.

 

 

 

 

 

 

 

n <- 100

 

 

n에 100을 저장해 주고,

 

 

 

 

 

 

 

x <- c(0,cumsum(rnorm(n)))

 

n(100)개의 정규분포 난수를 생성하여 (참조 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

누적합을 x에 넣어줍니다.

 

 

 

 

 

 

cumsum은 누적합을 구하는 함수입니다.

 

0이 들어가는 이유는

 

첫번째 인자부터 

 

더해진 값이 들어가기 때문에 넣습니다.

 

 

 

 

 

 

예를들어

 

아래 그림과 같이 qq에 1 2 3 4 5 를 넣고

 

cumsum (누적합)을 해 주시면

 

1 3 6 10 15의 값이 나온걸 확인하실 수 있습니다.

 

따라서 앞에 0을 넣어 0 1 3 6 10 15 순서로

 

배열을 넣어주었다 생각하시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

y <- c(0,cumsum(rnorm(n)))

 

이전과 똑같이 정규분포 난수의 누적합을 y에 넣어줍니다.

 

 

 

 

 

 

 

 

xx <- c(0:n, n:0)

 

xx에 0부터 n까지(100), 

 

그리고 n(100)부터 0까지의 배열을 

 

넣어줍니다.

 

 

 

 

 

 

 

 

 

 

 

yy <- c(x, rev(y))

 

y값 배열의 역순을 yy에 저장해 줍니다.

 

rev는 reverse의 약자라고 보시면 됩니다.

 

아래와 같이 배열의 순서가 역순으로 됩니다.

 

 

 

 

 

 

 

 

plot(xx, yy, type="n", xlab="Time", ylab="Distance")

 

x,y축으로 이루어진 그래프를 만듭니다.

type="n"이므로 좌표를 찍지 않고 (참고 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

 

x축과 y축의 제목을 넣어줍니다.

 

 

 

 

 

 

 

polygon(xx, yy, col="gray")

 

xx와 yy값의 좌표를 가지고 polygon. 즉 다각형의 그래프를 그립니다.

 

col처럼 여기도 다양한 옵션을 넣을 수 있습니다.

 

 

 

x, y -> 좌표

 

col -> 색상

 

lty -> 선 종류

 

lwd -> 선 굵기

 

density -> 선의 밀도

 

angle -> 선의 기울기

 

 

 

 

 

 

 

title("Distance Between Brownian Motions")

 

 

제목을 넣어줌으로 그래프를 완성합니다.

 

 

 

 

 

 

 

 

 

 

곧이어 다음 포스팅에서는 

 

가로 막대 그래프를 해보겠습니다.

 

 

 

 

 

 

 

감사합니다.



R Language

그래픽 예제 뜯어보기

 

 

 

 

 

 

지난 포스팅은 아래와 같습니다.

 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

이번에는 Boxplot을 사용하여

 

그래프를 그려 보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

boxplot의 뜻은 "상자 수염 그림" 이라고 합니다. (?)

 

... 네 그렇다고 합니다.

 

 

 

 

 

 

그림은 되게 단순한데

 

여기에는 데이터의 5가지나 되는

 

많은 정보를 얻을 수 있습니다.

 

 

 

1. 최솟값

2. 제 1사분위

3. 제 2사분위

4. 제 3사분위

5. 최댓값

 

 

 

 

 

 

 

 

바로 예제 진행하겠습니다.

 

이전 포스팅과 동일하게

 

demo를 사용하여

 

진행하겠습니다.

 

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

전체 코드입니다.

 

 

 

 

par(bg="cornsilk") n <- 10 g <- gl(n, 100, n*100) x <- rnorm(n*100) + sqrt(as.numeric(g)) boxplot(split(x,g), col="lavender", notch=TRUE) title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

 

 

 

 

바로 코드를 뜯어보겠습니다.

 

지금쯤이면 새로 보시는

 

sqrt, as.numeric, boxplot, split, notch 말고는 

 

다 아실것 같습니다.

 

 

 

 

 

par(bg="cornsilk")

 

 

cornsilk색으로 배경색을 지정해 줍니다.

 

 

 

 

 

 

 

 

 

n <- 10

 

 

n에 변수 10을 저장합니다.

 

 

 

 

 

 

 

 

 

g <- gl(n, 100, n*100)

 

g의 변수에 gl( )함수를 통한 값을 넣어줍니다.

 

 

 

 

 

gl( ) 함수는 요인 수열을 생성해 주는 함수입니다.

 

다 필요없고

 

예제를 보시면서 이해를 합시다.

 

gl(n, 100, n * 100) 이라고 되어 있습니다.

 

이에 따른 결과값으로는

 

 

위와같이 나오며

 

 

n의 값, 즉 10개의 레벨을 

 

* 따로 옵션값을 지정해 주지 않으면 

  숫자 1 ~ 카운팅 됩니다. 

 

각각 100번을 반복하고

 

총 갯수는 n * 100 즉, 1000개를 만든다

 

라고 보시면 됩니다.

 

 

 

 

추가적인 예제로

 

gl(2,3,labels=c("male","female"))

 

을 실행해 보시면

 

 

 

위와같은 화면을 보실 수 있으시고,

 

2개의 레벨을 가지고 

 

각 레벨당 3번의 반복 출력,

 

첫번째 예제와는 달리

 

그 레벨값은 male과 female로 지정해 주었습니다.

 

 

 

 

한번 직접 값을 몇개 넣어보시면 

 

와닿으실 겁니다.

 

 

 

 

 

 

 

 

 

 

x <- rnorm(n*100) + sqrt(as.numeric(g))

 

1000개의 정규분포 난수를 생성하여 (참조 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

 

g값에 들어가 있는 각각의 제곱근 값과 더해줍니다.

 

 

 

 

 

 

 

n * 100개, 1000개의 정규분포 난수를 생성하여

 

앞서 만든 g값 ( 1 1 1 1 --- 2 2 2 2 --- 3 3 3 3 --- 10 10 10 10 )에 

 

sqrt 즉, 제곱근을 구해서 각각의 값에 더해줍니다.

 

 

위와같은 값들의 행렬을 보실 수 있습니다.

 

그래프에 넣을 데이터들은

 

만들어졌고,

 

 

 

 

 

 

이제 boxplot 그래프를 만들어 봅시다.

 

 

 

 

 

 

 

 

 

boxplot(split(x,g), col="lavender", notch=TRUE)

 

10개의 그룹으로 분할된 데이터들을 boxplot으로 생성합니다.

 

 

 

 

 

notch는 옵션들 중 하나인데, 

 

옵션들을 살펴보겠습니다.

 

 

 

 

 

col - 색상 선택

 

range - 박스의 끝에서 수염까지의 길이를 지정 (default : 1.5 )

 

notch - true 시, 상자의 허리부분을 가늘게 표시

 

width - 박스의 폭 지정

 

horizontal, outline, plot, boxwex 등등 많은 옵션들이 존재합니다.

 

 

 

 

 

찾으시는 옵션이 있다면

 

찾아서 적용해 보시기 바랍니다.

 

 

 

 

 

 

title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

이전 포스팅을 보셨다면 그냥 한글 읽듯이 이해 하실 수 있으실 겁니다.

 

 

 

 

 

 

이상으로 boxplot 그래프에 대한 예제

 

마무리하겠습니다.

 

 

 

 

다음 포스팅에는 다각형과 가로 막대그래프

 

만들어 보겠습니다.

 

 

 

 

 

 

감사합니다.

R Language

그래픽 예제 뜯어보기

 

 

 

 

 

 

 지난 포스팅은 아래와 같습니다.

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

 

 

 

 

 

 

지난 포스팅에 이어

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

이번에 보실 예제는 

 

pie( ) 함수가 주가 되어 

 

파이차트 , 원형차트를 사용해

 

실습을 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

저번 포스팅과 같이 데모를 사용하여

 

두번째 예제를 활용하여 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

전체 코드입니다.

 

 

par(bg = "gray") pie(rep(1,24), col = rainbow(24), radius = 0.9) title(main = "A Sample Color Wheel", cex.main = 1.4, font.main = 3) title(xlab = "(Use this as a test of monitor linearity)", cex.lab = 0.8, font.lab = 3)

 

이번에도 

 

한줄씩 한줄씩 실행을 먼저 해 보시고

 

아래 코드를 보시면 될 것 같습니다.

 

 

 

 

 

 

 

 

 

 

 

par(bg = "gray")

 

 

배경색을 회색으로 하여 틀을 만들어 줍니다.

 

 

 

 

 

pie(rep(1,24), col = rainbow(24), radius = 0.9)

 

 

파이차트를 생성합니다.

 

 

 

 

 

 

pie( x , types ) 이렇게 사용 하는데,

 

rep(1,24) = c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) 처럼

 

 동일하다 생각하시면 됩니다.

 

 

 

 

 

즉, 이렇게 사용 하셔도 됩니다.

 

xvalue <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)

 

pie( xvalue, types )

 

 

 

 

 

 

 

 

 

여기엔 다양한 옵션들을 넣을 수 있는데,

 

col -> 색상

 

radius -> 파이차트 크기

 

density -> 밀집도 (수)

 

angle -> 각도

 

clockwise -> 방향 ( T = 시계방향(default값) , F = 반시계방향 )

 

등이 있습니다.

 

 

 

 

 

 

 

 

위 숫자를 좀 더 변형 시켜서

 

이렇게 실행을 한다면 아래와 같은 결과를 보실 수 있습니다.

 

 

pie(rep(1,200), col = rainbow(200), radius = 1.0)

 

 

 

 

 

 

 

 

 

title(main = "A Sample Color Wheel", cex.main = 1.4, font.main = 3)

 

 

A Sample Color Wheel 이라는 제목을 주고 도형 및 글자 크기를 설정합니다.

 

 

 

 

 

 

 

 

 

title(xlab = "(Use this as a test of monitor linearity)", cex.lab = 0.8, font.lab = 3)

 

 

마찬가지로 x축 제목 및 도형, 글자 크기를 설정해 줍니다.

 

 

 

 

 

 

 

 

 

다음 예제는 

 

다양한 값의 크기를 가진 데이터들과

 

그 데이터에 이름을 붙여 

 

전형적인 원형차트로 보실 수 있습니다.

 

다음 예제의 전체 코드입니다.

 

 

pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) names(pie.sales) <- c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream") pie(pie.sales, col = c("purple","violetred1","green3","cornsilk","cyan","white")) title(main = "January Pie Sales", cex.main = 1.8, font.main = 1) title(xlab = "(Don't try this at home kids)", cex.lab = 0.8, font.lab = 3)

 

 

 

 

 

 

 

 

 

 

 

pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)

 

먼저 pie.sales라는 이름을 가진 벡터 변수를 생성해 줍니다.

 

 

 

 

 

 

 

 

 

 

names(pie.sales) <- c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream")

 

각각의 벡터값에 이름을 붙여줍니다.

 

 

 

 

 

 

 

 

 

pie(pie.sales, col = c("purple","violetred1","green3","cornsilk","cyan","white"))

 

pie.sales를 사용하여 파이차트를 생성해 줍니다.

 

 

 

 

 

 

 

 

 

 

위의 RGB 예제에서는 

 

pie(x, types)의 x값에 모두 1이 들어가서

 

파이차트의 각각의 데이터 크기가 같았습니다.

 

이번에는 pie.sales의 다양한 값을 사용하여

 

각각 다른 크기의 데이터를 가진

 

파이차트를 만듭니다.

 

 

 

 

 

 

 

 

 

 

title(main = "January Pie Sales", cex.main = 1.8, font.main = 1)

 

January Pie Sales라는 제목을 주고 도형 및 글자의 크기를 설정해 줍니다.

 

 

 

 

 

 

 

 

 

 

 

title(xlab = "(Don't try this at home kids)", cex.lab = 0.8, font.lab = 3)

 

마지막으로 x축에도 이름을 주고 도형 및 글자 크기를 설정해 줍니다.

 

 

 

* 배경색은 따로 지정하지 않으셨다면 흰색으로 나타날 겁니다.

 

 

 

 

 

 

 

 

 

이로써 정말 간단한 몇줄

 

파이차트(원형차트)를 만들어 보았습니다.

 

다음 포스팅에서는 다양한 모양의 그래프를

 

만들어 보는 실습을 하며

 

추후 일차적인 목적은

 

지리정보공간시스템(GIS)을 

 

실습해 보는것으로 하겠습니다.

 

 

 

 

 

 

 

감사합니다.



 

R Language

그래픽 예제 뜯어보기

 

 

 

 

이전 포스팅은 아래와 같습니다. 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

 

 

 

 

 

 

 

 

지난 포스팅에 이어

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

 

 

 

 

 

 

 

 

꼬리표를 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

아무리 수백만개의 정확하고 유용한 데이터가 있다 한들

 

이를 우측에 보이는 것처럼 

 

시각적으로 보기 쉽게 나타내지 않는다면

 

아래와 같이 보기 힘든 데이터들은 

 

그냥 한낱 글자에 불과할 겁니다.

 

 

 

 

 

 

 

 

 

 

 

 

만약 R을 설치하지 않으셨다면,

 

이전 포스팅을 보시고 

 

설치를 하시길 바랍니다.

 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

 

R언어 | Part_1 R 다운로드 및 맛보기

통계 및 자료분석을 위한 R Language 인공지능 딥러닝 머신러닝 . . . 4차 산업 혁명이라는 키워드와 같이 최근 몇년간 큰 이슈가 되고 있는 전공자가 아니더라도 한번쯤은 들어봤거나 알 것 같은 �

pmgreviewer.tistory.com

 

 

 

 

 

 

 

 

 

 

* 들어가기에 앞서 R에서는 

 

  많은 샘플 데이터들을 들고 있습니다.

 

  data(package = .packages(all.available = TRUE))

 

  위 코드를 실행 하시면

 

 

 

 

 

 

  

 

 

 

  

 

 

  위와같이 뜰텐데, 

 

  여기서 aids를 사용하고 싶으시다면

 

  require(boot)를 하셔서

 

  위의 boot package를 추가하시고,

 

  head(aids) 혹은 (위의 6개 데이터만을 출력)

 

  {aids}를 실행하시면 (전체 데이터 출력)

 

  아래와 같은 해당 데이터 리스트들이 출력됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이제 차근차근

 

R 에서 제공해주는 소스를 가지고 

 

데이터를 어떻게 시각적으로 활용하는지 

 

graphics demo를 활용하여 

 

같이 공부해봅시다 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

먼저 아래 그림과 같이 

 

demo(graphics)를 입력해 주시고

 

return을 친 뒤

 

우측에 뜨는 창을 한번 클릭해 주시면 

 

아래와 같은 화면을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

왼쪽에는 소스코드가 나타나고

 

오른쪽에는 그 소스코드로 실행되는

 

graphic 화면을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

첫번째 예제의 전체 소스코드 입니다.

 

 

require(datasets) require(grDevices); require(graphics) x <- stats::rnorm(50) opar <- par(bg = "white") plot(x, ann = FALSE, type = "n") abline(h = 0, col = gray(.90)) lines(x, col = "green4", lty = "dotted") points(x, bg = "limegreen", pch = 21) title(main = "Simple Use of Color In a Plot", xlab = "Just a Whisper of a Label", col.main = "blue", col.lab = gray(.8),cex.main = 1.2, cex.lab = 1.0, font.main = 4, font.lab = 3)

 

 

 

 

 

 

 

 

 

 

 

 

 위의 예제를 한줄씩 한줄씩 

 

실행해 보신 뒤, 코드를 보시면

 

코드들이 눈에 들어오면서 

 

아~ 이렇게 만들어 지는거구나 라고 하실겁니다.

 

 

 

 

 

 

 

 

 

 

 

이제 소스코드를 차근차근 보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

> require(datasets); require(grDevices); require(graphics)

 

 

- 먼저 우리가 사용할 라이브러리를 가져옵니다. 

 

 

 

 

 

*그 전에 먼저 설치되어 있어야 합니다 . 

 위 라이브러리들은 기본적으로 포함되어 있으므로 가져오기만 하면 됩니다.

 

* library(datasets)를 사용해도 됩니다.

  require과 library의 차이점은 설치되어있지 않은 라이브러리를 호출 할 경우

  library를 오류를 발생하고, require은 경고 메시지를 보여줍니다.

 

 

 

 

 

 

 

 

 

 

 

> x <- stats::rnorm(50)

 

 

50개의 정규분포 난수를 생성합니다.

 

 

 

 

 

 

 

 

stats는 패키지 중 하나로

 

통계 계산이나 난수 생성 함수가 내장되어 있습니다.

 

norm() 함수는 정규분포를 나타내며

 

rnorm(50)은 50개의 정규분포 난수를 생성합니다.

 

* stats::rnorm(50) 대신 rnorm(50)을 사용해도 무방합니다.

 

 

 

 

 

 

 

 

 

 

 

> opar <- par(bg = "white")

 

 

배경색을 하얀색으로 하여 그래프의 틀을 설정합니다.

 

 

 

 

 

par()에는 다양한 옵션들이 존재합니다.

 

배경색, 전경색, 폰트, 글자크기, 

 

선의 모양, 좌표 눈금의 길이 설정까지 

 

다양한 종류의 옵션들을 설정할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

> plot(x, ann = FALSE, type = "n")

 

 

x,y축으로 이루어진 그래프를 만들수 있는 함수입니다.

 

 

 

 

뒤에 보이시는 type은 어떻게 그릴 것인지에 대한 옵션이며,

 

p -> 점

 

l -> 선

 

b -> 점과 선

 

s -> 계단모양 

 

n -> 좌표를 찍지 않음

 

등의 옵션이 존재합니다.

 

 

 

 

 

 

 

 

몇줄 안되는데 설명은 무쟈게 긴것 같네요

 

그리고 아직 위에 나온대로 그릴려면 한참 멀었습니다.

 

이제 틀만 만들었거든요

 

 

 

 

 

 

 

고로 이어서 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

> abline(h = 0, col = gray(.90))

 

 

직선을 그려줍니다.

 

 

 

 

 

 

 

a -> 각각의 절편

 

b -> 기울기

 

h -> 수평선일 시, y값

 

v -> 수직선일 시, x값

 

lty -> 선의 모양

 

lwd -> 선의 굵기

 

col -> 색의 색상

 

main -> plot의 제목 (이름)

 

 

 

 

 

 

 

 

 

 

 

> lines(x, col = "green4", lty = "dotted")

 

 

좌표의 점들을 이어 선을 그립니다.

 

 

 

 

 

* plot함수의 type = l 과 비슷합니다.

 

여기서도 abline과 비슷한 옵션들을 가지고 있으며

 

xlim, ylim ( 좌표 범위 )

 

xlab, ylab ( 축의 이름)

 

등이 추가적으로 있습니다.

 

 

 

 

 

 

 

 

 

 

> points(x, bg = "limegreen", pch = 21)

 

 

점을 찍는 함수입니다.

 

 

 

 

 

x, y -> 좌표값

 

pch -> 점의 모양

 

type -> n, p, l, b, c, s 등의 옵션들이 있습니다.

 

 

 

 

 

 

 

 

 

 

> title(main = "Simple Use of Color In a Plot",                  

  + xlab = "Just a Whisper of a Label",                          

  + col.main = "blue", col.lab = gray(.8),                       

  + cex.main = 1.2, cex.lab = 1.0, font.main = 4, font.lab = 3)  

 

 

 

제목( 이름 )을 설정해줍니다.

 

 

 

 

 

 

 

main -> 주 제목

 

sub -> 부 제목

 

xlab -> x축 이름

 

ylab -> y축 이름

 

col. 을 통해 색상의 설정도 가능하며

 

cex. 및 font.를 통해 도형의 크기 및 글자 크기 설정도 가능합니다.

 

 

 

 

 

 

되게 짧은 코드

 

한... 중학생이 그린것 같은 그래프가 완성되었습니다.

 

 

 

 

 

 

 

 

 

몇개의 예제를 추가적으로 한 뒤,

 

나중에는 훨씬 멋진 그래픽도 만들어 보도록 

 

열심히 공부합시다.

 

 

 

 

 

다음은 RGB를 이용한 그래픽 예제로 

 

포스팅 하겠습니다.

 

 

 

 

 

 

감사합니다.

통계 및 자료분석을 위한

R Language

 

 

 

 

 

 

 

인공지능

 

딥러닝

 

머신러닝

 

.

.

.

 

 

 

4차 산업 혁명이라는 키워드와 같이

 

최근 몇년간 큰 이슈가 되고 있는

 

전공자가 아니더라도

 

한번쯤은 들어봤거나

 

알 것 같은 느낌의 (?) 단어들 입니다.

 

물론 저 기술들의 가운데엔 빅데이터가 있습니다.

 

 

 

 

 

 

 

 

 

 

이 무수한 양의 데이터들을 

 

파악하고 분석하고 

 

이를 토대로 의사 결정에 도움을 주는

 

정보를 찾아냅니다.

 

정보를 원하는 사람들에게 더 정확한 정보를 제공해 주기 위해

 

자료를 정확하게 분석하는 능력이 필요합니다.

 

 

 

 

 

 

 

 

 

이젠 자료를 단지 "저장"하는것에 한하지 않고

 

그 속에 있는 정보들의 유용한 상관관계를 파악해야합니다.

 

자료를 수집하고, 시각화하여 

 

이를 토대로 탐색하여 

 

통계기계학습 등의 방법을 적용해

 

원하는, 혹은 생각지도 못한 유용한 정보들을 추출해 냅니다.

 

 

 

 

 

 

 

 

 

그리고 이 자료들을 분석하는데 있어 

 

효과적인 툴인 R을 사용해서 진행해보려 합니다.

 

오픈소스이기 때문에 무료로 사용이 가능하고

 

수많은 통계 라이브러리들이 있어 

 

손쉽고 간단하게 접근 및 사용이 가능합니다.

 

그리고 Interactive Mode 이기 떄문에

 

명령어를 입력하면 실행 결과를 바로바로 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

지금부터 설치 및 실행을 해 보도록 하겠습니다.

 

 

 

 

 

 

 

 

1. R 설치

우선 

 

https://cran.seoul.go.kr/

 

위 사이트에 접속을 하여 

 

 

 

자신의 OS에 맞게 선택하고

 

 

 

 

 

 

 

 

 

 

 

base를 선택해 주시고

 

 

 

 

 

 

 

 

 

 

 

 

download를 차례대로 눌러 

 

설치를 진행해 줍니다.

 

* 계속 다음 다음을 눌러 다운로드를 끝마쳐주시면 됩니다.

 

 

 

 

 

 

 

 

 

 

다운로드를 마치셨으면 

 

시작 메뉴에 R언어가 설치된 것을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

R x64 v이 있고

 

R i386 v이 있을겁니다

 

 블록체인 포스팅을 보신 분들은 아시겠지만

 

64는 64-bit,

 

i386은 32-bit를 의미합니다

 

어느것을 선택하던 상관은 없습니다.

 

 

 

 

 

 

 

 

 

 

 

실행을 하시면

 

아래와 같은 화면을 보실 수 있을 겁니다.

 

 

 

 

 

 

2. R 맛보기

 

R을 설치하면 기본으로 제공되는 자료가 있는데,

 

이를 보기위해 iris를 입력해 봅시다.

 

 

 

 

그럼 위와같이 150개의 자료들이 

 

나오는걸 확인하실 수 있을 겁니다.

 

 

 

 

 

 

 

 

 

 

 

 

이를 토대로 iris의 Sepal.Length 데이터의

 

평균과 표준편차를 구해보겠습니다.

 

 

위와같이 간단한 출력은 물론

 

 

 

 

 

히스토그램 또한 쉽게 나타낼 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

다음 포스팅 부터는

 

demo()를 활용하여 

 

데이터 시각화에 대한

 

코드 분석을 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

감사합니다.

+ Recent posts