____  ___    _  _     _   _ _____     _______
 / ___|/ _ \  | || |   | | | |_ _\ \   / / ____|
| |  _| | | | | || |_  | |_| || | \ \ / /|  _|
| |_| | |_| | |__   _| |  _  || |  \ V / | |___
 \____|\___/     |_|   |_| |_|___|  \_/  |_____|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

R 프로그램 강좌 03 : 데이터 프레임 편집

BY: @geekstarter | CREATED: March 24, 2018, 5:11 a.m. | VOTES: 5 | PAYOUT: $0.73 | [ VOTE ]

3. 데이터 프레임 편집

csv나 txt로 되어 있는 원본데이터를 불러올 수도 있지만, 직접 입력, 일부 수정 및 랜덤 데이터를 뽑을 수도 있습니다. R은 빅데이터를 분석하기 위한 툴이기 때문에 분석 대상인 원본 데이터를 잘 알아야 하며, 잘못된 부분에 대한 보정도 필요합니다.

3.1 데이터 프레임 직접입력 data.frame

데이터 직접 입력시 가장 흔히 하는 실수는 따옴표 ' 입니다. 숫자는 상관 없지만, 데이터의 이름을 표시할 때는 항상 따옴표를 써야 합니다.
name <- c(kim,lee,park,choi)
Error: object 'kim' not found

직접 입력을 위해서 임의로 값들을 지정하고, 실행을 시킵니다. 아래는 예제 입니다.

name <- c('kim','lee','park','choi')
age <- c(39,40,47,28)
sex <- c('f','m','m','f')
pay <- c(100, 200, 150, 300)

각각의 집합을 표와 같은 형태인 데이터 프레임으로 만들기 위해서는 "data.frame"이란 명령어를 사용합니다.
employee <- data.frame(name,age,pay,sex)

employee의 표는 다음과 같이 작성되었습니다.

[IMAGE: https://steemitimages.com/DQmWNtu8os2YoZKQZ4wS6yEDRrncompo8K7cnLepD7z46Rr/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.44.49.png]

3.2 데이터의 위치를 찾는 which

위의 데이터 프레임에서 나이에 대한 합을 a 라고 정의합니다. (명령어 sum을 사용)
a = sum(age)

[IMAGE: https://steemitimages.com/DQmRPLwMLTwKeEH1TJxujD7eW9PE7naBg7JArnBaDmmRhR1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.47.19.png]

마찬가지로 평균에 대한 부분은 mean 명령어를 사용합니다. 평균을 b라고 했을때, '평균이하'을 따로 분류하고 싶을 경우에는 논리기호 '<' 를 사용합니다. 이 데이터의 위치를 찾고 싶을 경우는 'which' 명령어를 사용합니다.
b = mean(age)
b 3 & x < 7 : 3~7 사이의 값
x < 3 | x > 7** : 3보다 작고, 7보다 큰 값

[IMAGE: https://steemitimages.com/DQmW7aYJQ8TrgXK3p6wnVDMFSEJhNyyRUrXqPzC63D33fse/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2011.37.20.png]

이런 논리 연산자를 통해 합과 평균을 구할 수도 있지만, 참과 거짓을 판단하는 논리기호도 사용할 수 있습니다. any는 하나라도 참값이 있어야 참이고, all은 모두가 참값이여야 참입니다.
sum (x < 3 | x > 7)
any (x < 3 | x > 7)
all (x < 3 | x > 7)
all (x >= 1)
x >= 1

[IMAGE: https://steemitimages.com/DQmcBUpeuxwoD7itYuQDW82n4AmSYsVRa4nuECq1EP3mhaR/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2011.42.59.png]

기타) 간단한 그래프 그리기 및 반올림

막대 그래프를 그리려면, barplot 명령어를 사용합니다.

barplot (x)

[IMAGE: https://steemitimages.com/DQmcYPf36wRmZwm6zb1VD8qFmxpPqHqARyGjU3YW4udvPUq/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2011.46.33.png]

올림(ceiling), 반올림(round), 내림(floor)에 대한 명령어를 적용해본 예 입니다.

k = runif(100, 10, 17)
ceiling (k)
round (k)
floor (k)

[IMAGE: https://steemitimages.com/DQmQ8o4qSzc5XKL5fJACWsji3bf4Fv1rS2zhPuUp4LFSQLQ/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-03-24%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%201.43.30.png]

TAGS: [ #kr ] [ #bigdata ] [ #rstudio ] [ #rprogram ] [ #analysis ]

Replies

@foodmockgame | March 24, 2018, 7:58 a.m. | Votes: 0 | [ VOTE ]

학교에서 코퍼스언어학 들을때 썼던 프로그램인데 덕분에 자연어 처리 및 빅데이터 처리에 대해 조금의 이해를 할 수 있게되었던 기억이 나네요 kr-dev? 개발쪽 태그 붙이시면 더많은분들이 볼수있을것 같네요

@steemitboard | Feb. 10, 2019, 10:06 p.m. | Votes: 0 | [ VOTE ]

Congratulations @geekstarter! You received a personal award!

https://steemitimages.com/70x70/http://steemitboard.com/@geekstarter/birthday1.pngHappy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

> Support SteemitBoard's project! Vote for its witness and get one more award!

@steemitboard | Feb. 10, 2020, 9:53 p.m. | Votes: 0 | [ VOTE ]

Congratulations @geekstarter! You received a personal award!

https://steemitimages.com/70x70/http://steemitboard.com/@geekstarter/birthday2.pngHappy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!
[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>