아나콘다 스파이더

Anaconda Spyder 

진수변환하기


sel=int(input("입력 진수 결정(16/10/8/2) : "))

num=input("값 입력 : ")


if sel == 16 :

    num10 = int(num, 16)


if sel == 10 :

    num10 = int(num, 10)

    

if sel == 8 :

    num10 = int(num, 8)

    

if sel == 2 :

    num10 = int(num, 2)

    

print("16진수 ==> ", hex(num10))

print("10진수 ==> ", num10)

print("8진수 ==> ", oct(num10))

print("2진수 ==> ", bin(num10))

R studio

엑셀 파일 불러와서 읽기


패키지 설치 및 불러오기

> install.packages("readxl")

> library(readxl)


작업 디렉토리 확인 후 그곳에 불러올 엑셀 파일 넣기

> getwd()

[1] "C:/Users/(사용자 이름)/Documents"


엑셀 불러와서 읽기

> ex<-read_excel("nail.xlsx")

> ex

파이썬 다운로드

https://www.python.org/downloads/release/python-364/


다운로드

Windows x86 executable installer  





아나콘다 다운로드(배포판 개념으로 패키지 설치해줘서 편리함)

https://www.anaconda.com/download/


다운로드

Python 3.6 version *



짧은 여행이었지만 딱 2번 애먹었다.

그 중 한 번이 사가공항가는 버스 정류장을 못찾는거였는데..

그냥 와라쿠엔(호텔 이름) 바로 앞에 있는데

그거를 다른 블로그 보고 찾아가다가 말이 헷갈려서 헤메이다가 우체부 아저씨랑 어떤 여성분한테 물어물어 출발 2분전에 겨우 도착했다.

그리고 출발예정시간 4분 후에 출발했음.



그리고 구글지도로 찾아갔는데 호텔 뒷문으로 데려다줌.....

다행이도 거기 일하시는 분이 식당 통해서 호텔 통과할 수 있게 해주셨음



일본 우레시노에서 사가공항가는 셔틀버스 정류장 

우레시노 사가공항 버스타기

우레시노-사가공항 공항리무진

우레시노-> 사가공항 리무진버스

우레시노에서 나가사키행 버스 타기



결론


우레시노에서 사가공항을 가기 위해서는나가사키행 공항버스(셔틀버스)를 타야하는데, 

그 버스 타는 곳은 '와라쿠엔'이라는 료칸(호텔) 앞에 버스 정류장이 있습니다.

'travel' 카테고리의 다른 글

일본  (0) 2018.02.17
일본  (0) 2018.02.17
제목없음  (0) 2018.02.17
대전 개천식당  (0) 2018.02.17
슬지제빵소  (0) 2018.02.17



참고 블로그 주소


https://blog.naver.com/ksw6169/221187418330



1. 워드 클라우드


//패키지 설치

> install.packages("wordcloud")         //워드 클라우드 패키지

> install.packages("RColorBrewer")     //팔레트 패키지


//패키지 로딩

> library(wordcloud)

> library(RColorBrewer)


> pa12<-brewer.pal(8, "Dark2")         //Dark2 팔레트 생성


> x<-c("국민", "신한국사회", "민족", "정치", "문학")     //키워드

> y<-c(5, 4, 12, 5, 8)                                             //키워드의 빈도


> wordcloud(x, y, colors=pa12) //단어의 크기를 빈도수에 따라 Dark2 팔레트의 색으로 출력





2. 동전 던지기 시뮬레이션


> interation<-5000                      //시행 횟수


> plot(0, 0, xlab="동전 던진 횟수", ylab="앞면이 나오는 비율", xlim=c(0, interation), ylim=c(0 , 1))     

//xlab, ylab : 라벨, xlim, ylim : 크기


> abline(a=0.5, b=0, col="red")     //수학적 확률(b:기울기, a:y절편)


> sum<-0 //앞면이 나오는 횟수


> for(x in 1:interation){                 //x를 1부터interation(5000)까지 할당하면서 반복


+     y<-sample(c("front", "back"), 1, replace=T) //동전에서 한 면 추출


+     if(y=="front")                     //앞 면 나오면 앞면이 나오는 횟수에 1추가

+         sum=sum+1


+     prob<-sum/x                     // 동전을 던진 총 시행 횟수에 대한 앞면이 나온 비율


+     points(x, prob)                  // 시행 횟수와 비율을 그래프에 추가

+ }




1. 파이차트 


3시 방향을 기준으로 시작하며 시계 반대방향을 순서로 나타낸다.


> x<-c(9, 15, 20, 6)


> x

[1]  9 15 20  6


> label<-c("영업1팀", "영업2팀", "영업3팀", "영업4팀")


> label

[1] "영업1팀" "영업2팀" "영업3팀" "영업4팀"


> pie(x, labels=label, main="부서별 영업 실적")








2. 바 차트


> height<-c(9, 15, 20, 6)


> heignt

[1]  9 15 20  6


> name<-c("영업1팀", "영업2팀", "영업3팀", "영업4팀")


> barplot(height, names.arg=name, main="부서별 영업 실적", col=rainbow(length(height)), xlab="부서", ylab="영업실정(억 원)")










3. 에니메이션을 숫자 카운트다운 하기


> install.packages("animation") //에니메이션을 위한 패키지 설치

> library(animation) //패키지 로딩


> ani.options(interval=1) //1초 간격

> plot.new() //새로운 그래픽 프레임 출력


> for(i in 10:0) //i값을 10~0까지 1씩 감소

+ {rect(0, 0, 1, 1, col="yellow")  //그래픽 출력 영역 최대 설정, 색상은 노란색

+     text(0.5, 0.5, i, cex=5, col=rgb(.2,.2,.2,.7)) //0.5, 0.5 위치에서 i값 출력, cex - 글자 크기(5가 디폴트), rgb - 글자 색, alpha - 투명도 

+     ani.pause()}








4. 구글맵에 위치 나타내기


//패키지 설치

> install.packages("ggplot2")

> install.packages("RgoogleMaps")

> install.packages("ggmap")


//패키지 로딩

> library(ggplot2)

> library(RgoogleMaps)

> library(ggmap)


> names <- c("1.도담삼봉/석문", "2, 구담/옥순봉")

> names

[1] "1.도담삼봉/석문" "2, 구담/옥순봉" 


> addr<-c("충청북도 단양군 매포읍 삼봉로 644-33", "충청북도 단양군 단성면 월악로 3827")

> addr

[1] "충청북도 단양군 매포읍 삼봉로 644-33" "충청북도 단양군 단성면 월악로 3827"  


> gc<-geocode(enc2utf8(addr)) //주소지의 위도, 경도

> gc

       lon      lat

1 128.3433 37.00300

2 128.2560 36.93046


> df<-data.frame(name=names, lon=gc$lon, lat=gc$lat) //이름, 경도, 위도에 대한 항목명을 각각 name, lon, lat로 하는 데이터 프레임 만들기

> df

             name      lon      lat

1 1.도담삼봉/석문 128.3433 37.00300

2  2, 구담/옥순봉 128.2560 36.93046


> cen<-c(mean(df$lon), mean(df$lat)) //데이터 프레임에 있는 모든 경도, 위도에 대한 평균치

> cen

[1] 128.29964  36.96673


> map<-get_googlemap(center=cen, maptype="roadmap", zoom=11, marker=gc) //지도 중심을 위도, 경도 평균값으로 설정, marker : 각 위도, 경도에 마커 설정


> ggmap(map, fullpage=TRUE) //fullpage = TRUE :여백 없이 지도 출력






엑셀에서 원하는 부분만 선택 후 ctrl+c 로 복사하세요.

그 후 아래 명령을 수행하세요

 

> fruits6 <- read.delim("clipboard",header=T)

> fruits6

  no   name price qty

1  1   apple   500   6

2  2 banana   400   4

3  3  peach   300   3

4  4   berry   200   2




write.table( ) 함수로 파일에 저장하기


> write.table(fruits6,'fruits6.txt')

> fruits6_2 <- read.table('fruits6.txt',header=T)

> fruits6_2

  no   name price qty

1  1  apple   500   6

2  2 banana   400   4

3  3  peach   300   3

4  4  berry   200   2




excel 파일 형식으로 저장하기 


> install.packages("WriteXLS")

> library(WriteXLS)

> name <- c("Apple","Banana","Peach")

> price <- c(300,200,100)

> item <- data.frame(NAME=name , PRICE=price)

> item

    NAME PRICE

1  Apple   300

2 Banana   200

3  Peach   100

> WriteXLS("item","item.xls")




XML 형식으로 저장하기


> install.packages("XML")

> library(XML)

> install.packages("kulife")

> library(kulife)

> name <- c('Apple','Banana','Peach')

> price <- c(300,200,100)

> item <- data.frame(NAME=name,PRICE=price)

> item

    NAME PRICE

1  Apple   300

2 Banana   200

3  Peach   100

> write.xml(item,file='item.xml')







readLines( ) / read.table( ) / read.csv( ) 의 차이점




> txt1 <- read.csv("csv_test.txt")    //정상적으로 불러집니다

> txt1 

  번호  이름 가격

1   1   사과 1000

2   2      배 2000

3      귤 3000



> txt2 <- readLines("csv_test.txt")     //파일의 여러 줄을 한 줄로 쭉 불러옵니다

> txt2

[1] "번호,이름,가격"  "1,사과,1000" "2,배,2000" "3,귤,3000" 

[5] "" "" 



> txt3 <- read.table("csv_test.txt")     //컬럼 구분을 하지 못합니다

> txt3 

         V1

1   번호,이름,가격

2     1, 사과, 1000

3     2,    배, 2000

4     3,    귤, 3000



> txt3 <- read.table("csv_test.txt",sep=",")     // sep 로 컬럼 구분은 했으나

> txt3                                                      //컬럼 이름을 자동으로 붙입니다. 

    V1    V2   V3

1  번호 이름 가격

2     1 사과  1000

3     2    배  2000

4     3    귤  3000



> txt3 <- read.table("csv_test.txt",sep=",",header=T)     //read.csv 와 동일합니다

> txt3 

  번호   이름    가격

1     1   사과   1000

2     2     배    2000

3     3     귤    3000







저장하는 다양한 방법들 정리하기


[readLines( ) -> write]


> txt1 <- readLines("write_test.txt")

> txt1

[1] "이 문장은 write 연습하는 문장인데" "별로 어렵지 않아요“

[3] "열심히 해주세요" 


> write(txt1,"write_test2.txt")

> txt2 <- readLines("write_test2.txt")

> txt2

[1] "이 문장은 write 연습하는 문장인데" "별로 어렵지 않아요" 

[3] "열심히 해주세요"










[read.table( ) -> write.table( ) 로 저장하기]




> txt1 <- read.table("table_test.txt",head=T)

> txt1 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000

 

> write.table(txt1,"table_test2.txt")

> txt2 <- read.table("table_test2.txt",head=T)

> txt2 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000









[read.csv( ) -> write.csv( ) 로 저장하기]




> txt1 <- read.csv("csv_test.csv")

> txt1 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000


> write(txt1,"csv_test2.csv")     //에러 발생합니다

Error in cat(list(...), file, sep, fill, labels, append) : 

타입 'list'인 인자 1는 'cat'에 의하여 다루어 질 수 없습니다


> write.table(txt1,"csv_test2.csv")

> txt2 <- read.csv("csv_test2.csv")

>txt2     //아래 결과가 이상하죠? 

  번호.이름.가격

1    1 사과 1000

2    2 2 배 2000

 3 3 귤 3000


> write.csv(txt1,"csv_test3.csv")

> txt3 <- read.csv("csv_test3.csv")

> txt3     // 가장 왼쪽에 새로운 번호 부분이 추가로 생성되어 있습니다. 

   X  번호  이름  가격

1 1      1  사과  1000

2 2      2     배  2000

3 3      3     귤  3000










[readxl( ) -> write.xlsx( ) 로 저장하기]


>install.packages("xlsx")

>library(xlsx)

>write.xlsx(item, "item.xlsx")








출처

더알음 네이버카페 : http://cafe.naver.com/theareum

R라뷰 개정판 실습데이터 모음 :  https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0


read.csv.sql( ) 명령 - 원하는 데이터를 SQL 쿼리로 불러 오기


> install.packages("googleVis")

 ( 설치 과정은 생략합니다 )

> library(googleVis)

> install.packages(“sqldf”)  

>library(sqldf) 


> Fruits

    Fruit Year Location Sales Expenses Profit       Date

1  Apples 2008     West    98       78     20 2008-12-31

2  Apples 2009     West   111       79     32 2009-12-31

3  Apples 2010     West    89       76     13 2010-12-31

4 Oranges 2008     East    96       81     15 2008-12-31

5 Bananas 2008     East    85       76      9 2008-12-31

6 Oranges 2009     East    93       80     13 2009-12-31

7 Bananas 2009     East    94       78     16 2009-12-31

8 Oranges 2010     East    98       91      7 2010-12-31

9 Bananas 2010     East    81       71     10 2010-12-31




> write.csv(Fruits,"Fruits_sql.csv",quote=F,row.names=F)

> fruits_2 <-read.csv.sql("Fruits_sql.csv",

+                       sql="SELECT * FROM file WHERE Year = 2008")

경고메시지:

사용되지 않는 커넥션 3 (Fruits_sql.csv)를 닫습니다 


> fruits_2

    Fruit   Year  Location  Sales Expenses  Profit    Date

1   Apples 2008     West    98       78     20       2008-12-31

2 Oranges 2008     East     96       81     15       2008-12-31

3 Bananas 2008     East     85       76      9        2008-12-31








기본 제공 데이터

> data()

> Nile

Time Series:

Start = 1871 

End = 1970 

Frequency = 1 

  [1] 1120 1160  963 1210 1160 1160  813 1230 1370 1140  995  935 1110  994 1020  960 1180  799  958 1140 1100 1210 1150 1250 1260 1220 1030 1100  774

 [30]  840  874  694  940  833  701  916  692 1020 1050  969  831  726  456  824  702 1120 1100  832  764  821  768  845  864  862  698  845  744  796

 [59] 1040  759  781  865  845  944  984  897  822 1010  771  676  649  846  812  742  801 1040  860  874  848  890  744  749  838 1050  918  986  797

 [88]  923  975  815 1020  906  901 1170  912  746  919  718  714  740



아래의 내용은 기본 데이터 자료 목록












xls (Microsoft Office Excel) 파일로부터 데이터 프레임에 저장하기


> install.packages("XLConnect") 

> library(XLConnect)

> setwd("c:\\r_temp")

> data1=loadWorkbook("fruits_6.xls",create=T)

> data2=readWorksheet(data1,sheet="sheet1",

+                     startRow=1 ,

+                     endRow=8 ,

+                     startCol=1 ,

+                     endCol=5)


> data2

  no   name price  qty

1  1  apple   500   6

2  2 banana   400   4

3  3  peach   300   3

4  4  berry    200   2


 







html 페이지에서 표 형식의 데이터 가져오기


이 페이지에 있는 데이터 가져올 것임

https://en.wikipedia.org/wiki/World_population


> install.packages("XML")

Installing package into ‘C:/Users/seojinsu/Documents/R/win-library/3.1’

( 지면 관계상 설치 과정은 생략하겠습니다.

> library(XML)

>install.packages("httr")

>library("httr")


> pop <- 'http://en.wikipedia.org/wiki/World_population'

> pop

[1] "http://en.wikipedia.org/wiki/World_population"

> pop_table <- readHTMLTable(pop)

> length(pop_table)

[1] 28       // 28 개의 테이블이 있다는 뜻입니다.


> pop_table <- readHTMLTable(pop,which=6)     //위 표는 html 페이지에서 6번째 테이블입니다.

> pop_table

 

   Rank Country / Territory    Population       Date          Approx.혻% of world\npopulation Source

1     1       China[note 2] 1,368,130,000 November 28, 2014                             19%   [83]

2     2               India 1,263,100,000 November 28, 2014                           17.5%   [84]

3     3       United States   319,163,000 November 28, 2014                           4.43%   [85]

4     4           Indonesia   252,164,800      July 1, 2014                             3.5%   [86]

5     5              Brazil   203,505,000 November 28, 2014                           2.82%   [87]

6     6            Pakistan   188,254,000 November 28, 2014                           2.61%   [88]

7     7             Nigeria   178,517,000      July 1, 2014                             2.48%   [89]

8     8          Bangladesh   157,390,000 November 28, 2014                           2.18%   [90]

9     9              Russia   146,068,400      June 1, 2014                             2.03%   [91]

10   10               Japan   127,130,000    August 1, 2014                            1.76%   [92]





> pop_table[,c(2,3)]        //2~3열 읽기

   Country / Territory    Population

1        China[note 2] 1,368,130,000

2                India 1,263,100,000

3        United States   319,163,000

4            Indonesia   252,164,800

5               Brazil   203,505,000

6             Pakistan   188,254,000

( 지면 관계상 이하 내용은 생략합니다 )







출처

더알음 네이버카페 : http://cafe.naver.com/theareum

R라뷰 개정판 실습데이터 모음 :  https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0

현재 작업 디렉토리에 있는 리스트 읽어오기


> list.files( )

  [1] "1-4호선수송인원연도별.csv"                                

  [2] "1-4호선승하차승객수.csv"                                  

  [3] "153번_버스_승하차현황_2014_05월.csv"                      

  [4] "153번_버스_승하차현황_2014_06월.csv"                      

(내용이 많아서 이하 내용은 생략하겠습니다 )

 

> list.files(recursive=T)       // 하위 디렉토리 내용까지 전부 출력합니다

  [1] "1-4호선수송인원연도별.csv"                                

  [2] "1-4호선승하차승객수.csv"                                  

  [3] "153번_버스_승하차현황_2014_05월.csv"                      

  [4] "153번_버스_승하차현황_2014_06월.csv"

( 내용이 많아서 이하 내용은 생략하겠습니다)



> list.files(all.files=T)         // 숨김 파일까지 전부 보여줍니다.

  [1] "."                                                        

  [2] ".."                                                       

  [3] ".a.txt"                                                   

  [4] ".Rapp.history"                                            

  [5] ".RData"

( 내용이 많아서 이하 내용은 생략하겠습니다) 








scan( ) 함수로 텍스트 파일 읽어서 배열에 저장하기


> setwd("c:\\r_temp")               //데이터가 있는 작업용 디렉터리를 설정

> scan1 <- scan('scan_1.txt')        // scan1 변수에 저장

Read 4 items

> scan1

[1] 111 222 333 444         //기본적으로 배열로 저장이 됩니다


> scan2 <- scan('scan_2.txt')

Read 4 items

> scan2

[1] 1 2 3 4


> scan2 <- scan('scan_2.txt',what="")     //문자열

Read 4 items

> scan2

[1] "1.00" "2.00" "3.00" "4.00"


> scan3 <- scan('scan_3.txt',what="")

Read 4 items

> scan3

[1] "aaa" "bbb" "ccc" "ddd"


> scan4 <- scan('scan_4.txt',what="")

Read 4 items

> scan4

[1] "aaa"  "bbb"  "111"  "2.34"






> input <- scan( )         // 숫자 입력 받기

1: 1

2: 2

3: 3

4:         // 그만하려면 여기서 그냥 엔터

Read 3 items

> input

[1] 1 2 3


> input2 <- scan(what="")         //문자 입력 받을 때는 what="" 

1: a

2: b

3: 

Read 2 items

> input2

[1] "a" "b"






readline( ) 함수로 한 줄 읽어 들이기


> input3 <- readline()

R is very fun!  <-- 이렇게 입력 후 엔터 

> input3

[1] "R is very fun!"


> input4 <- readline("Are you OK? :" )

Are you OK? : Yes!!

> input4

[1] "Yes!!"







readLines( ) 함수로 파일 읽어 들여서 배열에 담기


> input5 <- readLines('scan_4.txt')

> input5

[1] "aaa"  "bbb"  "111"  "2.34"







> fruits <- read.table('fruits.txt')

> fruits

  V1     V2    V3  V4             //라벨명

1 no   name price  qty          //헤더 부분

2  1  apple   500   5

3  2 banana   200   2

4  3  peach   200   7

5  4  berry    50   9


> fruits <- read.table('fruits.txt',header=T)         //header 가 있다고 알려주기

> fruits

  no   name price qty

1  1  apple   500   5

2  2 banana   200   2

3  3  peach   200   7

4  4  berry    50   9









> fruit2 <- read.table('fruits_2.txt')         //주석은 자동 제외

> fruit2

  V1     V2  V3 V4

1  1   apple 500  6

2  2 banana 200  2

3  3   peach 200  7

4  4   berry  50  9


> fruit2 <- read.table('fruits_2.txt',skip=2)         //두 번째 행을 건너 뜀

> fruit2

  V1     V2  V3  V4

1  2 banana 200  2

2  3  peach 200  7

3  4   berry  50   9


> fruit2 <- read.table('fruits_2.txt',nrows=2)         //두 번째 행까지 출력

> fruit2

  V1     V2  V3 V4

1  1  apple 500  6

2 banana 200  2


> fruits3 <- read.table('fruits.txt',header=T,nrows=2)       

> fruits3

  no   name price qty

1  1  apple   500   5

2  2 banana   200   2


> fruits3 <- read.table('fruits.txt',header=F,skip=2,nrows=2)       //두 번째 행 건너뛰고, 두 번째 행까지 출력

> fruits3

  V1     V2  V3 V4

1  2 banana 200  2

2  3  peach 200  7








read.csv( ) 함수로 csv 불러오기


> fruit3 <- read.csv('fruits_3.csv')

> fruit3

  no   name price pty

1  1  apple   500   6

2  2 banana   200   2

3  3  peach   200   7

4  4  berry    50   9





라벨명이 없는 경우 


> fruit4 <- read.csv('fruits_4.csv')

> fruit4

  X1  apple X500 X6        // 이 부분이 문제가 됩니다.

1  2 banana  200  2

2  3  peach  200  7

3  4  berry   50  9

 

> fruit4 <- read.csv('fruits_4.csv',header=F)

> fruit4

  V1     V2  V3 V4

1  1   apple 500  6

2  2 banana 200  2

3  3   peach 200  7

4  4   berry   50  9






라벨명을 수동으로 지정


> label <- c('NO','NAME','PRICE','QTY')

> fruit4 <- read.csv('fruits_4.csv',header=F,col.names=label)

> fruit4

  NO   NAME PRICE QTY

1  1   apple   500   6

2  2 banana   200   2

3  3  peach   200   7

4  4  berry     50   9













출처

더알음 네이버카페 : http://cafe.naver.com/theareum

R라뷰 개정판 실습데이터 모음 :  https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0

+ Recent posts