반응형

Seaborn의 기본 내용 정리한 내용임

import seaborn as sns
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore") # 경고메세지 무시
# 펭귄데이터
penguins = sns.load_dataset("penguins")
penguins.info()
penguins.head()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 344 entries, 0 to 343
Data columns (total 7 columns):
 #   Column             Non-Null Count  Dtype  
---  ------             --------------  -----  
 0   species            344 non-null    object 
 1   island             344 non-null    object 
 2   bill_length_mm     342 non-null    float64
 3   bill_depth_mm      342 non-null    float64
 4   flipper_length_mm  342 non-null    float64
 5   body_mass_g        342 non-null    float64
 6   sex                333 non-null    object 
dtypes: float64(4), object(3)
memory usage: 18.9+ KB
  species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
0 Adelie Torgersen 39.1 18.7 181.0 3750.0 Male
1 Adelie Torgersen 39.5 17.4 186.0 3800.0 Female
2 Adelie Torgersen 40.3 18.0 195.0 3250.0 Female
3 Adelie Torgersen NaN NaN NaN NaN NaN
4 Adelie Torgersen 36.7 19.3 193.0 3450.0 Female
#히스토그램
sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")
<AxesSubplot:xlabel='flipper_length_mm', ylabel='Count'>

img

# kernel density estimation
sns.kdeplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")
<AxesSubplot:xlabel='flipper_length_mm', ylabel='Density'>

img

Figure Level vs Axes Level Functions

  1. axes-level는 matplotlib.pyplot.axes를 기준으로 만들어지고
  2. Figure-level은 FacetGrid를 기준으로 만들어진다.

Distribution Plots

distplot

  • 분포 확인
  • kde차트와 히스토그램 확인가능
sns.distplot(penguins["flipper_length_mm"], bins=40)
# kde=False를 하면 kde차트는 사라짐
C:\Users\Jessie\anaconda3\lib\site-packages\seaborn\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).
  warnings.warn(msg, FutureWarning)





<AxesSubplot:xlabel='flipper_length_mm', ylabel='Density'>

img

jointplot

  • Scatterplot을 기본으로 각 축의 분포 확인 가능
sns.jointplot(x="flipper_length_mm",y="bill_length_mm",data=penguins, hue="species")
# hue="species" - 색반환
# kind="hex" - 육각형 모양으로 반환
# kind="reg" - Regression plot
# kind="kde"  - 등고선
<seaborn.axisgrid.JointGrid at 0x165bc527550>

img

sns.jointplot(x="flipper_length_mm",y="bill_length_mm",data=penguins, kind="reg" )
<seaborn.axisgrid.JointGrid at 0x165bc4fe6d0>

img

pairplot

  • 모든 Numeric 변수에 대하여 Scatter plot과 분포도 그림
sns.pairplot(data=penguins, hue="species", palette="coolwarm")
<seaborn.axisgrid.PairGrid at 0x165bf0f27c0>

img

rugplot

sns.rugplot(penguins["flipper_length_mm"])
<AxesSubplot:xlabel='flipper_length_mm'>

img

Categoricla Plots

barplot

  • estimator인자는 Barplot의 y축을 계량하는 기준을 의미하며 default값은 mean이다.
import numpy as np
sns.barplot(data=penguins, x="species", y="flipper_length_mm", estimator=np.std) # 표준편차
<AxesSubplot:xlabel='species', ylabel='flipper_length_mm'>

img

countplot

sns.countplot(data=penguins, x="species")
<AxesSubplot:xlabel='species', ylabel='count'>

img

boxplot

sns.boxplot(x="species",y="bill_length_mm",data=penguins, hue="sex")
<AxesSubplot:xlabel='species', ylabel='bill_length_mm'>

img

viloin plot

sns.violinplot(x="species",y="bill_length_mm",data=penguins, hue="sex", split=True)
<AxesSubplot:xlabel='species', ylabel='bill_length_mm'>

img

stripplot

sns.stripplot(x="species",y="bill_length_mm",data=penguins, jitter=True, hue="sex", split=True)
C:\Users\Jessie\anaconda3\lib\site-packages\seaborn\categorical.py:2805: UserWarning: The `split` parameter has been renamed to `dodge`.
  warnings.warn(msg, UserWarning)





<AxesSubplot:xlabel='species', ylabel='bill_length_mm'>

img

swarmplot

  • stripplot과 violing plot의 조합으로 볼 수 있음
sns.swarmplot(x="species",y="bill_length_mm",data=penguins)
<AxesSubplot:xlabel='species', ylabel='bill_length_mm'>

img

Matrix chart

tc = penguins.corr()

Heatmap

  • annot=Ture 인자를 통해서 히트맵에 해당하는 셀의 값을 노출할 수 있다.
  • cmap을 통해 컬러맵 부여 가능
sns.heatmap(tc,annot=True, cmap="coolwarm")
<AxesSubplot:>

img

test = penguins.pivot_table(index="species", columns="island", values="bill_length_mm")
sns.heatmap(test, cmap="magma")
<AxesSubplot:xlabel='island', ylabel='species'>

img

Clustermap

sns.clustermap(tc, cmap="coolwarm", standard_scale=1, annot=True)
<seaborn.matrix.ClusterGrid at 0x165c2a16dc0>

img

Grid

iris = sns.load_dataset("iris")
iris.head()
  sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa

PairGrid

g = sns.PairGrid(iris)
# g.map(plt.scatter) # scatter
g.map_diag(sns.distplot) # 사선에는 distplot
g.map_upper(plt.scatter) # 사선 상단에는 scatterplot
g.map_lower(sns.kdeplot) # 사선 아래에는 kdeplot
<seaborn.axisgrid.PairGrid at 0x165c7fc8790>

img

FacetGrid

  • Categorical한 변수를 기준으로 그래프를 쪼개서 볼 수 있음
  • Trellis(격자구조)의 개념이라고 생각하면 좋음
tips = sns.load_dataset("tips")
tips.head()
  total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
g = sns.FacetGrid(data=tips, col="time", row="smoker")
# g.map(sns.distplot, "total_bill")
g.map(plt.scatter, "total_bill", "tip")
<seaborn.axisgrid.FacetGrid at 0x165ca168850>

img

regplot

lmplot

sns.lmplot(x="total_bill", y="tip",data=tips, hue="sex", markers=['o','v'])
<seaborn.axisgrid.FacetGrid at 0x165ca196df0>

img

sns.lmplot(x="total_bill", y="tip",data=tips,col="sex",row="time") # auto FacetGrid
<seaborn.axisgrid.FacetGrid at 0x165ca32e400>

img

반응형

'Data > Python' 카테고리의 다른 글

Python Matploblib 시각화 기본  (0) 2022.04.02
반응형

Ridge 회귀 (L2 규제)


img

  • 선형 모델이며 최소적합법을 사용
  • 일반 회귀와 다른 점은 가중치(w 또는 β) 의 절대값을 최대한 작게 함
  • 즉 기울기를 0으로 만듬
  • 이렇게 하는 이유는 과대적합이 생기지 않도록 모델을 강제로 제한함을 의미

Lasso 회귀 (L1 규제)


img

  • Ridge에서와 마찬가지로 계수를 0에 가깝게 제한하는 것은 동일함
  • 하지만 정말로 0인 계수가 생기기도 함. 즉 제외되는 계수도 발생
  • 이는 자동으로 특성이 선택된다고 볼 수 있으며 가장 중요한 특성이 무엇인지 드러내 준다고 생각하면 됨
  • 간혹 Lasso를 이용하면 과속적합이 발생하기도 하는데, 이는 너무 많은 Feature를 Drop하여 모델을 못 쓰게 만드는 경우이다.

무엇을 사용할 것인가?


  • 일반적으로 Ridge 회귀를 분석에서 선호하는 편
  • 다만 분석하기 쉬운 모델을 고를 경우 Lasso가 더 좋은 선택이 될 수 있음
  • Lasso와 Ridge의 패널티를 결합한 ElasticNet이라는 것도 있음. 최상의 결과를 내기도 하지만 두 개의 매개변수를 조정해야 함.

참고 사이트

반응형
반응형

Git hub 블로그를 운영한지 1년이 지난 지금, 장단점을 돌아보고 티스토리까지 운영하게 되는 계기를 함께 서술한다.

 

깃헙블로그 장점


  • 마크다운 친숙성
    깃헙 블로그를 운영하는 동안 깃헙의 메커니즘을 많이 익혔다. 더불어서 마크다운 언어를 자유롭게 사용하게 되었는데, 보고서를 만들거나 문서를 정리할 때, 개발 블로그를 만들 때 큰 도움이 됐다.
  • 개발친화적 느낌
    사실 깃헙 블로그는 멋지다. 일정 플랫폼을 벗어나서 블로그와 홈페이지를 구성해보고 그것을 유지하는 경험 자체도 근사하다. 그리고 포트폴리오로써 이보다 제시하기 좋은 점은 없다고 본다.

 

깃헙블로그 단점


  • 유지관리가 쉽지 않다
  • _VS Code*_를 켜야하고 깃헙으 스테이지에 올리고, 푸시하고 이를 관리하는 과정이 까다롭다. 특히 이미지와 마크다운을 맵핑시키는 부분이 꽤 귀찮아서 글을 자주 쓰지 않게 되는 것 같다.
  • 방문자 통계의 어려움
    방문자 통계를 내고 싶었는데, 결과적으로 구글 애널리틱스와 끝내 연결되지 않았다. 이유는 잘 모른다. 시키는대로 했지만, 결과는 나오지 않으니 답답할 수 밖에. 완성되지 않은 상태에서 하나하나 만든 다는 것은 어려움이 따르는 것 같다.
  • 결국엔 하나의 스킨테마에 갇힌다
    내가 웹개발자가 아닌 이상, 지금 유지하는 정도 이상의 스킨 수준을 관리하는 것은 불가능하다. 너무 귀찮은 일이 될 것 같다.

 

티스토리 병행 운영


고민 끝에 두 개의 블로그를 병행운영 하기로 했다. 고로 똑같은 내용의 깃헙 블로그를 발견한다면, 그것은 바로 나이다..

  • 티스토리의 마크다운 지원
    티스토리가 마크다운을 지원한다. 내가 모든 깃헙 문서를 마크다운으로 작성하는만큼 이상의 호환성이 높아질 것이라고 생각한다. 물론 이미지를 다시 넣는 작업은 조금 귀찮은 일이 되겠지만, 드는 노력에 비해 티스토리 노출이 상당히 좋은 편
  • 가시적인 트래픽
    티스토리는 자체적으로 통계 기능을 지원한다. 1년 넘게 관리를 하지 않았는데도 불구하고 꾸준하게 50 ~ 100명의 트래픽을 유지하고 있다. 즉 내가 좀 더 관심을 갖고 관리를 하면 더 좋은 트래픽을 일으킬 수 있을 것이라 판단했다.
반응형
반응형

개요

EIS를 기꺼이 만들었으나 사용하지 않는 기업과 그 이유에 대하여 생각해보았습니다.

 

 

몇 년간 QlikView / Sense 를 사용해서 여러 기업의 EIS와 대시보드를 구축하고 나서 가장 크게 느낀 점은, 결국 애써서 만들었으나 그 효용이 낮다라는 생각이었습니다. 긴 시간 그 이유를 조금 생각해봤고 아래와 같이 정리해볼 수 있다고 생각합니다.

 

 

임원들은 경영정보에 생각보다 관심이 없다


  • 내 일이 아닌 것 같아...
    경영데이터가 사람들의 업무에 크리티컬하게 영향을 주지 않습니다. 즉 보면 좋고 안보면 그만인 그래프들에 지나지 않게 됩니다. 그래서 그냥 경영데이터가 보기좋게 제시되어서 보고용으로 적합할 뿐, 그 이상의 역할은 하지 않게 되는 것 같습니다. 실제로 많은 기업에서 사용자는 Open 이후로 천천히 우하향곡선을 그리게 되죠.

데이터가 뻔하다.


  • 이미 보고 받고 있는 데이터인데?
    경영데이터는 보통 ERP에서 사용하고 있는 데이터를 집계하여 시각화합니다. 그렇게 때문에 데이터 자체에서 새로울 것은 잘 없겠죠. 다만 비즈니스 로직에 따라서 필요한 지표들이 더 추가되고편리하게 볼 수 있다는 장점이 있을 수 있습니다. 하지만 이러한 편의를 위해서 들여야 하는 노력에 비해, 사용빈도가 현저히 낮습니다.
  • 데이터가 변하는 게 없잖아?
    데이터의 집계에는 시간이 걸립니다. 일 단위로 집계되는 데이터를 본다면 실시간을 원하고, 결산을 기준으로 데이터를 본다면 일 데이터를 원하는 사용자도 생깁니다. 이럴 경우 데이터의 신선도에 대한 요구가 지속적으로 발생합니다. 이렇게 신선도를 잃게 되었다고 생각되는 데이터는 지나간 실적에 대한 보고로써의 역할만 맡게 되는 것 같습니다.
  • 그래서 원인이 뭐야?
    BI의 딜레마는 낮은 수준으로 데이터를 묶을수록 정보 전달성이 떨어지며, 높은 수준으로 묶을수록 데이터의 원인을 트래킹하기 어렵습니다. 이 중 EIS는 후자에 가깝습니다. 때문에 데이터를 보고 의문이 생겨도 그 하위로 내려가지 못하고, 결국 팀 내의 현업에게 묻게 됩니다. 즉, Drill-Down 되지 않게 되면 이 역시 EIS가 실패하는 원인이 되는 것으로 보입니다.

EIS가 업의 핵심이 아니다.


  • 나 진짜 바쁘고, 이것까지 볼 시간이 없다.
    EIS 정보를 모른다고 해서 자신의 업무에 영향을 받지 않습니다. 그렇다면 바쁜 와중에는 굳이 전체 경영정보를 볼 이유가 없겠죠. 자신의 업무로도 이미, 충분히 각자 바쁜 시간을 보내고 있을테니까요. 이건 어떤 EIS를 구축하느냐의 문제도 있지만, EIS가 가진 본질적인 한계처럼 느껴지기도 합니다.
  • EIS 없어도 잘 돌아갔어
    사실입니다. 이전에 잘 돌아가던 업무의 패턴이 있고 EIS는 편의 내지는 지원의 개념으로 현업들의 업무에 끼어들 뿐이죠. 거창한 의미를 둘 필요가 없다는 뜻입니다. 그래서 저는 EIS를 힘주어 만들 필요가 없다고 생각한다. 반대로 Micro한 자신의 업무단위까지 관련이 있다면, (예를 들어 생산라인 오류 감지 등) 시키지 않아도 그것을 보게 되지 않을까요?

 

 

 

 

이런 식으로 EIS는 애써 기업에서 만들지만 쉽게 사장됩니다.그러면 어떻게 반복되는 EIS의 실패를 막을 수 있을까요? 저는 이렇게 생각합니다.

최대한 간단하게


  • 핵심지표만 간추리자
    EIS 안에서는 핵심지표만 과감하게 최소한의 노력으로 핵심지표만 간추려야 한다고 봅니다. 굳이 거대하고 무겁게 만들어봐야 사용하지 않을 확률이 놓기 때문이죠. 그래도 임원들이 보기 때문에 대충 만들기 조금 그렇다고 생각하겠지만, 이건 문화를 바꾸는 게 급선무인 것 같습니다. 중요하게 생각하는 분석지표는 수시로 바뀔 수 있으며 더군다나 요즘같이 빠르게 변하는 시대에는 더더욱이나 그렇습니다.
  • 필요에 의해 추가하자
    다른 개발이나 프로젝트, 분석도 마찬가지이지만 EIS에서도 똑같이 적용되는 것 같습니다. 가장 작게 필요한 부분만 시작하고, 차후 현업의 필요를 받아들여서 확장해나가는 것이 더욱 중요해보입니다.

업무와 관련된 데이터만


  • 업과 직결된 지표들
    그나마 만들어진 EIS에서 사람들이 보는 지표는, 매출액, 영업이익과 같이 본인들의 평가와 직결된 정보들이었습니다. 그런 핵심 정보들과 더불어서 재고관리팀이라면 재고 현황 데이터를, 생산관리팀이라면 생산관리 데이터를 볼 수 있도록 팀마다 화면을 분리해야 합니다.
  • 진짜 EIS가 필요한 것인지요..
    EIS가 필요한 것인지 스스로 자문하며 진단할 필요가 있습니다. 예를 들어서 B2B 기업이고 고객사가 한정적이며, 고객사에 대한 정보를 정리하지 않는 기업의 경우, 데이터를 보며 얻을 수 있는 Action이 발생하지 않죠.

가급적 만들지 말자..


  • 어차피 쓰지도 않는 거..
    각고의 노력을 다해 만들어봐야 EIS는 높은 확률로 사장됩니다.그래서 그 때 그 때마다 데이터를 다르게 볼 수 있는 보고서와 좀 더 데이터분석에 가까운 플랫폼을 제공해주는 게 더 좋아보입니다.
  • 현업에게도 교육이 필요하다.
    데이터를 다루고 그것을 어떻게 가공해야 하는지에 대한 기본적인 지식이 현업에게도 필요합니다. 그들이 유연하게 데이터에 접근하고 데이터를 가공할 수 있을 때 비로소 유연한 데이터 분석과 문화가 형성이 된다고 생각합니다.
반응형
반응형

도움이 되는 사이트


출처 : 엘리의 드림코딩 - 정규표현식 깃허브(https://github.com/dream-ellie/regex)

Groups and ranges

 

Chracter

|

또는

()

그룹

[]

문자셋, 괄호안의 어떤 문자든

[^]

부정 문자셋, 괄호안의 어떤 문가 아닐때

(?:)

찾지만 기억하지는 않음

Quantifiers

Chracter

?

없거나 있거나 (zero or one)

*

없거나 있거나 많거나 (zero or more)

+

하나 또는 많이 (one or more)

{n}

n번 반복

{min,}

최소

{min,max}

최소, 그리고 최대

Boundary-type

Chracter

\b

단어 경계

\B

단어 경계가 아님

^

문장의 시작

$

문장의 끝

Character classes

 

Chracter

\

특수 문자가 아닌 문자

.

어떤 글자 (줄바꿈 문자 제외)

\d

digit 숫자

\D

digit 숫자 아님

\w

word 문자

\W

word 문자 아님

\s

space 공백

\S

space 공백 아님

 


Titanic Data 에서의 적용

 

Name 필드에는 아래와 같은 이름들이 있다.

 

Bonnell, Miss. Elizabeth

Nasser, Mrs. Nicholas (Adele Achem)

Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)

Williams-Lambert, Mr. Fletcher Fellows

Clarke, Mrs. Charles V (Ada Maria Winfield)

Ford, Miss. Doolina Margaret "Daisy"

Duff Gordon, Lady. (Lucille Christiana Sutherland) ("Mrs Morgan")

Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)

 

 

 

여기에서 우리는 Miss, Mrs, Lady와 같은 호칭을 뽑아내려고 한다.

이 때 정규표현식을 사용해서 R에서 가져오게 되는데 아래와 같은 표현식을 사용한다.

 

full$Title <- gsub('(.*, )|(\\..*)', '', full$Name)

여기서 '\\'로 '\'가번 쓰이는 것은, R에서는 '\'를 '\\'로 써야 백대시로 인식하기 때문이다.

 

gsub은 대체시키는 함수이다.

대체시키려는 값과 대체시키는 값을 차례로 Paramter로 받는다.

 

결과는 아래와 같다.

 

(.*, ) - 콤마와 공백 앞에 있는 모든 값

| - 또는

(\..*) - 점 다음에 있는 모든 값

 

R에서 사용할 때는 \\를 \ 대신 사용한다는 것이 포인트였다.

정규표현식은 문자열을 다루기 위해서는 반드시 배워야할 필요가 있다는 점을 이해했다.

다음에 문자열을 다룰 때에는 좀더 편하게 다룰 수 있을 것 같다.

 

반응형
반응형

예를 들어 A의 개발 환경에서 각각 개발하고 깃허브에 올린다음,

그것을 B의 개발환경에서 다시 불러와서 작업하고 싶은 경우가 있다.

 

이 상태에서 그냥 Pull을 누를 경우 충돌이 생기면서 최신화가 되지 않는다.

 

이럴 때는 아래 코드를 참조하자.

 

git reset --hard HEAD
git pull

 

reset --hard HEAD 는 가장 최근의 코드로 Commit을 리셋합니다.

그리고 이 상태에서

git pull을 하시면 충돌 없이 최신화가 됩니다.

반응형
반응형
Error in install.packages : ERROR: failed to lock directory
Try removing ‘C:\Users\..../00LOCK’

R MarkDown을 사용하려니까 저런 에러가 발생했다.

 

해결 방법은 위에 해당하는 디렉토리로 가서 00LOCK이라고 하는 폴더를 지워주자

그러면 R Markdown이 다시 제대로 동작한다.

반응형
반응형

따로 CRAN Page에 들어가지 않고 명령어로 R 버전을 업그레이드 할 수 있다.

 

 

 

1. install.packages("installr")

패키지 콜을  먼저 수행한다.

WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/Jessie/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
also installing the dependencies ‘glue’, ‘magrittr’, ‘stringi’, ‘stringr’

URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/glue_1.4.2.zip'을 시도합니다
Content type 'application/zip' length 154967 bytes (151 KB)
downloaded 151 KB

URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/magrittr_2.0.1.zip'을 시도합니다
Content type 'application/zip' length 235353 bytes (229 KB)
downloaded 229 KB

URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/stringi_1.5.3.zip'을 시도합니다
Content type 'application/zip' length 15243599 bytes (14.5 MB)
downloaded 14.5 MB

URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/stringr_1.4.0.zip'을 시도합니다
Content type 'application/zip' length 216647 bytes (211 KB)
downloaded 211 KB

URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/installr_0.22.0.zip'을 시도합니다
Content type 'application/zip' length 341403 bytes (333 KB)
downloaded 333 KB

package ‘glue’ successfully unpacked and MD5 sums checked
package ‘magrittr’ successfully unpacked and MD5 sums checked
package ‘stringi’ successfully unpacked and MD5 sums checked
package ‘stringr’ successfully unpacked and MD5 sums checked
package ‘installr’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\Jessie\AppData\Local\Temp\RtmpINxkdB\downloaded_packages

 

2. library(installr)

그리고 라이브러리 콜을 수행한다.

필요한 패키지를 로딩중입니다: stringr

Welcome to installr version 0.22.0

More information is available on the installr project website:
https://github.com/talgalili/installr/

Contact: <tal.galili@gmail.com>
Suggestions and bug-reports can be submitted at: https://github.com/talgalili/installr/issues

			To suppress this message use:
			suppressPackageStartupMessages(library(installr))

 

3. check.for.updates.R()

위 명령어 수행을 통해 R의 버전을 확인한다.

나는 현재 업데이트가 마친 상태이므로 (21.02.12 기준) 4.0.3 버전이 설치가 완료되었다.

 

4. install.R()

위 명령어 수행과 동시에 설치에 대한 진행이 시작되고 그대로 Next - Next로 쫓아 수행한다.

 

5. version
인스톨을 마친 후에 RStudio를 종료하고 실행 후 version 명령어를 입력하여 현재의 버전을 확인 할 수 있다. 아래 내용처럼 현재의 R버전이 4.0.3 (2020-10-10)의 최신 버전인 것을 확인 가능하다.

> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          4                           
minor          0.3                         
year           2020                        
month          10                          
day            10                          
svn rev        79318                       
language       R                           
version.string R version 4.0.3 (2020-10-10)
nickname       Bunny-Wunnies Freak Out 
반응형

+ Recent posts