데이터 업무를 하다보면 사용 할 일은 매우 많은데, 막상 사용하려 하면, 실제로 잘 안되는 것은 열 쌓기 행 쌓기 특히 열 쌓기는 ggplot2에서 그래프 그릴 때 아주 많이 사용된다.
만약에 지게차 톤수별로, 시간 단위의 사용량 그래프를 그리혀고 하면, 열 쌓기는 매우 중요 하다.
데이터 업무를 하다보면 사용 할 일은 매우 많은데, 막상 사용하려 하면, 실제로 잘 안되는 것은 열 쌓기 행 쌓기 특히 열 쌓기는 ggplot2에서 그래프 그릴 때 아주 많이 사용된다.
만약에 지게차 톤수별로, 시간 단위의 사용량 그래프를 그리혀고 하면, 열 쌓기는 매우 중요 하다.
R과 Python의 가장 큰 차이가 나는 것이, 문자열 인덱싱과 슬라이싱 일 것이다. 즉,
인덱싱은 문자에도 각 순번이 있어, 순번대로 가져오는 것이다. 그런데 R 과 파이썬 둘의 차이가 매우 크다, 어떻게 보면, 문자열을 초기에 핸들링 하기에는 Python이 더욱 쉬워 보인다.
아래의 주어진 문자의 예를 들어 설명해 보자.
text = "나는 고요한 아침의 나라 대한민국에서 살고 있습니다."
요새는 넷플릭스의 오징어 게임이 유행이다. 나도 오징어 게임을 찜 하고, 출시 되자 마자 보았다.
어렸을때, 놀던 놀이 들이 전부 나왔는데, "무궁화 꽃이 피었습니다." 원래 술래가 불리한 게임이다.
술래가 "무궁화 꽃이 피었습니다." 라고 이야기 했는데, 움직이는 사람이 있으면, 잡히게 된다. 물론 전부 잡히게 되면, 술래가 바뀌겠지만, 술래 있는데 까지 와서, 새끼 손가락으로 잡혀 엮여 있는 사람을 풀어 준다.
물론 풀어 주면 도망 가는데, 도망 갈때, 술래한테, 체하는(잡히는) 사람이 술래가 된다. 어렸을때, 유일하게, 남자아이와 여자아이가 동시에 할 수 있는 게임 이다.
하지만, 오징어 게임에서는 너무 잔인하다, 움직이면 총 맞아 죽는다.
총성에 사람들이 놀라 도망간다. 무궁화 꽃이 피었습니다. |
R 초급자가 맨 처음에 R을 접할 때, Data.frame하고, vector하고 매우 헤깔려 한다. 그리고, 데이터 유형도 헤깔리는 경우도 있다. 나도 맨 처음 시작 하였을때, 그러 했다.
질문의 내용은 아래와 같다..
네이버 지식인에서 아래와 같은 이메일이 왔다.
R을 이용한 결측치 예측
결측치 전치 |
하긴 했는데, 회귀모형 진단을 해보니, R squared 값이 0.3866 이 나왔다. 회귀모형으로 예측은 가능 한데, 설명력이 떨어져 결측치를 전치 해도 별로 좋아 보이지는 않는다.
예전에 필자도 설문조사 하였다. 하지만, 설문지 문항에 대한 신뢰도는 조사는 하지 않고, 그냥 평균만 분석해서 보고 한 적이 있었는데, 이번에는 설문문항 신뢰도에 대해 다루어 볼 예정 이다.
설문문항 신뢰도 |
원래 네이버 지식In에서 질문은 회귀 모형을 만들어 달라고 하는 이야기인데, 이번에는 설문 문항의 신뢰도 만 보겠다. 실제로 설문 문항의 결과에 따라서 비교모형은 만들수 있는데, 회귀모형은 만들기가 정말 어렵다.
predict를 이용한 예측은 현업 실무 할 때 매우 중요하다. 모델을 만들었는데, 그것을 예측하여, 결과값을 만들어 전사 DB에 업데이트 하였다.
회귀분석 Predict Observation |
trees 데이터 셋에 대해 다음의 문제를 해결 하는 R 코드를 작성 하시오.
(1) 나무 둘레(Girth)와 나무의 키(,Height)로 나무의 볼륨을 예측 하는 다중 선형 회귀모델을 만드시오.
(2) 다중선형 회귀모델을 이용하여 trees 데이터셋의 나무 둘레(Girth)와 나무의 키(Height)로 나무의 볼륨을 예측 하시오.
(3) (2)에서 예측한 볼륨과 실제 trees 데이터 셋의 볼륨(Volume)이 얼마나 차이가 나는지 보이시오( 예측값, 실제값, 예측값-실제값을 나타낸다.)
안녕하십니까? 오늘도 데이터 블로그 마스터 입니다.
DATA 분석 Free |
오늘도 데이터는 Study 차원에서 분석을 무료로 진행 합니다.
분석툴 : R 에 한함.
분석이 무료인 만큼 아래사항은 정중히 사양 하겠습니다.
rdmkyg@hotmail.com
네이버 지식인에서 아래와 같은 질문이 왔다.
n=1000인 모집단을 난수로 생성해서 그 중 표본을 10개씩 30번 뽑고(즉, 300개를 뽑는것입니다.) worksheet(sample data)와 QQ-plot을 그려야하는데 어떻게 하는 건지 알려주시면 감사하겠습니다
n <- runif(1000)
# 비복원 방식의 추출 법
for(i in 1:30){
temp <- sample(n,10, replace = FALSE )
if(i == 1){
dataset <- temp
} else {
dataset <- c(dataset,temp)
}
}
qqnorm(dataset)
qqline(dataset)
네이버 지식인에서 아래와 같은 질문이 왔다.
미국 연방기금금리 1%p 인상이 미국의 실업률과 인플레이션율에 미치는 동태적 영향을 VAR 모형과 직교화충격반응함수를 이용해 분석하시오.라는 과제를 받았습니다.. rstudio의 VAR함수와 irf 함수를 사용해야하는데 데이터는 만들어놨습니다... 근데 이데이터를 VAR함수에 적용하고 irf함수에 적용하는법을 감을 못잡겠습니다.. 도와주실분 계신가요...
아래 데이터 셋에서는 dcpi 가 인플레이션 이고 ur이 실업률이다. 데이터 셋을 보니 놀랍게도 2021년 4월 까지 있었다.
var 모형 |
R 함수에 내장되어 있는 시계열 데이터 셋을 분리 해서 데이터 프레임으로 만든 다음 월별로 다르게 하려면 많은 데이터 핸들링이 필요 하다. 이런 사항은 현업 실무에서 빅데이터 셋준비 할때, 많이 사용한다.
AirPassengers 데이터 사전 탐색
# package loading
library(tseries)
library(forecast)
library(dplyr)
library(tidyr)
library(stringr)
library(ggplot2)
# R에서 제공하는 AirPassengers 데이터 셋은 1949년 ~1960년 사이의 항공
#승객수를 월벼로 나타낸 것이다. Air Passengers 데이터 셋에서 1949, 1955,
#1960년의 월별 승객수 선그래프로 작성 하는데, 3개년도의 선의 색을 다르게
#하시오.
data(AirPassengers)
AP <- AirPassengers
plot(AP,xlab="Date", ylab = "Passenger numbers (1000's)",main="Air Passenger numbers from 1949 to 1961")
역시 생각 하였던 바와 같이 시계열에 적합 한데이터 이다.
네이버 지식인 질문 사항 중에서
문제 1. R에서 제공하는 AirPassengers 데이터 셋은 1949년 ~1960년 사이의 항공 승객수를 월벼로 나타낸 것이다. Air Passengers 데이터 셋에서 1949, 1955,1960년의 월별 승객수 선그래프로 작성 하는데, 3개년도의 선의 색을 다르게 하시오.
데이터를 입력 한다. 변수를 년도로 쓸수 없다.
pa1949 <- c(112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118)
pa1955 <- c(242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278)
pa1960 <- c(417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432)
months <- c("01월", "02월", "03월", "04월", "05월", "06월",
"07월", "08월", "09월", "10월", "11월", "12월")
# 데이터 프레임으로 만들고
df<-data.frame(pa1949, pa1955, pa1960)
df <- gather(df, key = "년도", value ="승객수")
#pa를 replace 한다.
df$년도<- gsub("pa","", df$년도)
# 월별 데이터 묶기
df <- cbind(df, months) %>%
rename(월 = months)
# 월별 승객수 선색 다르게 선그래프 작성
df %>%
group_by(년도,월) %>%
ggplot(aes(월,승객수, group = 년도, colour = 년도))+
geom_line()
년도별 색 다르게 그래프 표현 |
데이터를 입력을 하였고, 그래프를 그릴수 있게 데이터를 gather 하였다. 아래는 해들리 위컴이 작성한 자료 이다.
문제 2. R에서 제공하는 USAccDeaths 데이터 셋은 1973년 ~1978년 사이의 사고 사망자 숫자를 월별로 나타낸 것이다. USAccDeaths 데이터 셋에서 1973, 1975, 1977년의 월별 사망자 숫자를 선그래프로 작성 하는데, 3개년도의 선의 색을 다르게 하시오.
6 R에서 제공하는 USAccDeaths 데이터 셋은 1973년 ~1978년 사이의 사고
# 사망자 숫자를 월별로 나타낸 것이다. USAccDeaths 데이터 셋에서 1973,
# 1975, 1977년의 월별 사망자 숫자를 선그래프로 작성 하는데, 3개년도의
# 선의 색을 다르게 하시오.
# 벡터 명을 숫자로 할수 없으니, pa를 임시로 붙인다.
USA1973 <- USAccDeaths[1:12]
USA1975 <- USAccDeaths[25:36]
USA1977 <- USAccDeaths[49:60]
# 데이터 프레임으로 만들고
df1 <-data.frame(USA1973, USA1975, USA1977)
df1 <- gather(df1, key = "년도", value ="사망자수")
#pa를 replace 한다.
df1$년도<- gsub("USA","", df1$년도)
# 월별 데이터 묶기
df1 <- cbind(df1, months) %>%
rename(월 = months)
# 월별로 사망자수를 색을 다르게 그리기
df1 %>%
group_by(년도,월) %>%
ggplot(aes(월,사망자수, group = 년도, colour = 년도))+
geom_line()
년도별 색 다르게 데이터 표현 |
앞에서는 html의 간단한 sheet를 소개 하였습니다. html은 주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다. 아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다. body 부분의 css 코딩 ...