레이블이 R 기초인 게시물을 표시합니다. 모든 게시물 표시
레이블이 R 기초인 게시물을 표시합니다. 모든 게시물 표시

R에서 열 쌓기, 행 쌓기 자주 사용되는 함수 gather spread

     데이터  업무를 하다보면  사용 할 일은 매우 많은데,  막상 사용하려 하면, 실제로 잘 안되는 것은 열 쌓기 행 쌓기 특히 열 쌓기는 ggplot2에서 그래프 그릴 때 아주 많이 사용된다. 

만약에 지게차 톤수별로,  시간 단위의 사용량 그래프를 그리혀고 하면,  열 쌓기는 매우 중요 하다. 

R & Python 문자열 인덱싱 및 슬라이싱

  R과 Python의 가장 큰 차이가 나는 것이,  문자열 인덱싱과 슬라이싱 일 것이다.  즉, 

인덱싱은  문자에도 각 순번이 있어,  순번대로 가져오는 것이다.   그런데  R 과 파이썬 둘의  차이가 매우 크다,  어떻게 보면, 문자열을 초기에 핸들링 하기에는 Python이 더욱 쉬워 보인다. 


아래의 주어진 문자의 예를 들어 설명해 보자.  

text = "나는 고요한 아침의 나라 대한민국에서 살고 있습니다."

"무궁화 꽃이 피었습니다." Random 값 만들기 sample 함수 사용

   요새는 넷플릭스의 오징어 게임이 유행이다.    나도 오징어 게임을 찜 하고,  출시 되자 마자 보았다.  

  어렸을때,  놀던 놀이 들이 전부 나왔는데,  "무궁화 꽃이 피었습니다."  원래 술래가 불리한 게임이다.  

   술래가 "무궁화 꽃이 피었습니다." 라고 이야기 했는데,  움직이는 사람이 있으면,  잡히게 된다.    물론 전부 잡히게 되면,  술래가 바뀌겠지만,  술래 있는데 까지 와서,  새끼 손가락으로 잡혀 엮여 있는 사람을 풀어 준다.  

  물론 풀어 주면 도망 가는데,  도망 갈때,  술래한테,  체하는(잡히는) 사람이 술래가 된다.  어렸을때,  유일하게,  남자아이와 여자아이가 동시에 할 수 있는 게임 이다. 


하지만, 오징어 게임에서는 너무 잔인하다,  움직이면 총 맞아  죽는다. 

총성에 사람들이 놀라 도망간다. 무궁화 꽃이 피었습니다.

R로 하는 기초통계 [강의자료 ] 데이터 척도, 변수의 종류 및 대표값

   우리가 통계학을 처음 접하면서 어려움을 겪는 문제가 바로 기호들이다.   대표값에 대한 기호들이다.   μ(평균), σ(분산) 등이다.  이번에는  각종 기호들의 정의와  각종 변수로 모집단의 무엇이며,  표본이 어떠한 것 인지를 다를 것이다.    

히스토그램   대표값


R 기초 랜덤 샘플링, 롤렛 및 확률형 아이템 조작

   항상 모든 언어가 그렇지만,  기초가 어렵다.  그렇지만,  기초가 있어야 실무에서 적용할 카드들이 많다.  이번에 R 기초에서  랜덤 샘플링과 롤렛및 확률형 아이템 조작에 대하여 이야기 할 것이다. 

랜덤 샘플링

 

R 초급 vector 및 bar graph

   R 초급자가 맨 처음에 R을 접할 때,   Data.frame하고,  vector하고 매우 헤깔려 한다.   그리고, 데이터 유형도 헤깔리는 경우도 있다.    나도 맨 처음 시작 하였을때,  그러 했다. 



    

질문의 내용은 아래와 같다.. 



r프로그래밍 문제점 좀 알려주세여ㅜ 제가 3_9세 어린이의 미디어 이용률.csv를 열어서 col.data를 media.data로 바꾸려고 하는데 자꾸 > media.data<- data.set[,col_data] Error in `[.data.frame`(data.set, , col_data) : undefined columns selected > str(media.data) Error in str(media.data) : 객체 'media.data'를 찾을 수 없습니다 이렇게 뜨네요ㅜㅜ 제발 알려주세요ㅜㅜ 부탁드립니다.

R 중급 R을 이용한 결측치 회귀분석 예측 후 전치 , KNN 전치

  네이버 지식인에서 아래와 같은 이메일이 왔다. 

R을 이용한 결측치 예측

제가 가지고 있는 데이터셋은 연속형 변수인  x1,x2,x3과 y로 이루어져 있는데, y 변수에 결측치들이 군데군데 존재합니다. 이 결측치를 제거하지 않는 방법을 찾아보니 회귀 모형으로 예측을 하는 것이 가능하다고 하는데, 회귀모형을 어떤 식으로 만들면 위에서 말한대로 결측치를 예측할 수 있는 걸까요? train set과 test set을 나눠서 회귀 예측 모형을 만들 수 있나요?

결측치 전치




하긴 했는데,  회귀모형 진단을 해보니,   R squared 값이 0.3866 이 나왔다.   회귀모형으로 예측은 가능 한데,  설명력이 떨어져 결측치를 전치 해도 별로 좋아 보이지는 않는다.



R 중급 nchar 자리수 맞추기 실전 예제

    약간 불규칙적인 것을 처리 하기 위해서는 우리는 함수를 만든다.   함수를 만드는 목적은 for  loop문 같이 반복적으로 연산 할때 매우 유리하게 사용 된다.  아래는 네이버 지식인에서 아래와 같이 질문한 내용을 정리 한 것이다. 


데이터 숫자 분류


R 중급 설문지 문항 신뢰도

     예전에  필자도 설문조사 하였다.  하지만,   설문지 문항에 대한 신뢰도는 조사는 하지 않고,  그냥 평균만 분석해서 보고 한 적이 있었는데,  이번에는 설문문항 신뢰도에 대해 다루어 볼 예정 이다.   


설문문항 신뢰도


  R을 다룰 때는 사회 조사 방법론을 다루기 보다는 자재 소요예측이나,  고장 예측 같은 것만 해왔고,   사람의 심리를 척도(리카도 척도)와 해서 알아보는 것은 이번이 처음이다. 


원래 네이버 지식In에서  질문은  회귀 모형을 만들어 달라고 하는 이야기인데,  이번에는 설문 문항의 신뢰도 만 보겠다. 실제로 설문 문항의 결과에 따라서 비교모형은 만들수 있는데, 회귀모형은 만들기가 정말 어렵다. 

R기초 trees 데이터 셋을 이용한 예측치와 실측치 분석

 predict를 이용한 예측은 현업 실무 할 때 매우 중요하다.  모델을 만들었는데,  그것을 예측하여,  결과값을 만들어 전사 DB에 업데이트 하였다. 

회귀분석 Predict Observation


  trees 데이터 셋에 대해 다음의 문제를 해결 하는 R 코드를 작성 하시오.

   (1) 나무 둘레(Girth)와 나무의 키(,Height)로 나무의 볼륨을 예측 하는 다중 선형 회귀모델을 만드시오. 

  (2) 다중선형 회귀모델을 이용하여 trees 데이터셋의 나무 둘레(Girth)와 나무의 키(Height)로 나무의 볼륨을 예측 하시오. 

 (3) (2)에서 예측한 볼륨과 실제 trees 데이터 셋의 볼륨(Volume)이 얼마나 차이가 나는지 보이시오( 예측값, 실제값,  예측값-실제값을 나타낸다.)

R 고급 caret을 이용한 머신러닝(로지스틱 회귀 colon 데이터 셋 )

  caret은  대표적인 머신러닝 패키지이다.  이것이 있어서,  R에서는 파이썬 보다 좋은 경쟁력을 가지고 분석 할 수 있다.      즉 파이썬에서 경쟁력이 있는 것은 비정형 자료 즉,  이미지,  문자, 음성등 과 같은 것이다.  개인 적으로는 파이썬의 사이킷런 보다,  이것이 더욱 좋다. 


아래의 예제 코드는 아래의 책을 참고 하여 작성 하였다. 


로지스틱 회귀 실전 예측분석 모델링

R 기초 분야 자주 묻는 질문 [ 맵 지도 그리기, 그래프 그리기, 히스토그램 등..]

아래 그림과 같이 기초가 튼튼해야 성공 할 수 있다.   




아래에는 네이버 지식인에서 자주 나오는 질문이다. 

오늘도 데이터 무료 분석 R

 

 안녕하십니까?  오늘도 데이터  블로그 마스터 입니다. 

DATA 분석 Free



오늘도 데이터는   Study 차원에서  분석을 무료로 진행 합니다.

 분석툴 : R 에 한함. 

분석이 무료인 만큼 아래사항은  정중히 사양 하겠습니다.  

  • 비트코인 분석문제  
  • 주식 분석 문제 (본 블로그에 예시가 많이 있습니다.  블로그 예시를 보시고 하십시오.)
  • 논문 분석 문제 (유료 사이트 운영 하시는 분께 부탁하십시오.)
  • 질문 내용이 애매 하거나,  데이터셋이 불명확 한 것
  • 블로그에 오픈 되면 안되는 개인 정보 데이터, 회사 보안 등급이 있는 데이터 등
  • 요청 하신 순서대로 진행 되며,  무료인 만큼 분석 속도는 느려 질 수 있습니다.

이메일 주소는 아래와 같습니다.    

rdmkyg@hotmail.com

R 기초 난수를 생성 한 다음에 표본을 뽑고 QQ-plot 그리는 법

 네이버 지식인에서 아래와 같은 질문이 왔다. 

n=1000인 모집단을 난수로 생성해서 그 중 표본을 10개씩 30번 뽑고(즉, 300개를 뽑는것입니다.) worksheet(sample data)와 QQ-plot을 그려야하는데 어떻게 하는 건지 알려주시면 감사하겠습니다

어떻게 30번을 뽑는건지 잘 모르겠습니다..


아래와 같이 문제를 해결 하였다.   데이터 샘플링 하는 것은  실무에서 가장 많이 쓰인다. 

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)

R 통계 고급 시계열 문제 벡터 자기회귀

 네이버 지식인에서 아래와 같은 질문이 왔다. 

미국 연방기금금리 1%p 인상이 미국의 실업률과 인플레이션율에 미치는 동태적 영향을 VAR 모형과 직교화충격반응함수를 이용해 분석하시오.라는 과제를 받았습니다.. rstudio의 VAR함수와 irf 함수를 사용해야하는데 데이터는 만들어놨습니다... 근데 이데이터를 VAR함수에 적용하고 irf함수에 적용하는법을 감을 못잡겠습니다.. 도와주실분 계신가요...

아래 데이터 셋에서는 dcpi 가 인플레이션 이고 ur이 실업률이다.   데이터 셋을 보니 놀랍게도 2021년 4월 까지 있었다.   

var 모형

아래의 글을 작성 하는데 아래의 링크를 활용 하였다. 

https://otexts.com/fppkr/VAR.html#fn25

R 기초 벡터 (vector) 기초 지식

   R에서 벡터는 여러번 다루었다.  하지만,  벡터(vector)를 모르고서는 R을 이야기 할 수 없다.  데이터 타입이 어떠한지 알아야,  그래프를 그리든,   모델 분석을 하든 어떻게 든 할 수 있다. 

R vector


벡터의 기초지식

R 중급 각 년도별 색이 다르게 월별 데이터 그리기 AirPassengers, USAccDeaths

  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 하였다. 아래는 해들리 위컴이 작성한 자료 이다. 


변수를 숫자를 넣을 수 없어서,  pa를 붙였고,  나중에 문자열 변경 gsub("변경전", "변경후", vector) 으로 변경 하여,  넣었다.  


문제 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()
년도별 색 다르게 데이터 표현

 이것도 위의 것과 별로 다를게 없어  같은 형태로 하였다. 


css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...