Chapter 14 etc

14.1 R 도움말

  • 한글 도움말: [Link]
  • 패키지(라이브러리) 검색: [Link]

14.2 Operation

R에서의 기본적인 연산에 대해 알아보자.

  • 산술연산: 계산기와 같음 [Link]
    • 산술연산 표현식(arithmetic expression)
    • 기본연산자는 +(더하기), -(빼기), *(곱하기), /(나누기), 그리고 ^(자승)
  • 논리연산: 참, 거짓과 같은 논리적인 연산

14.3 WD 경로확인

getwd()  # get working directory 
## [1] "/Users/jace/GoogleDrive/R/WorkingDirectory/Bigdata"

14.4 WD 폴더탐색

list.files()  # Working directory에 있는 파일명을 나열

14.5 Obejct 확인

  • RStudio Environment 탭과 같은 결과가 나옴
objects()

14.6 데이터유형 확인

  • 데이터의 유형이 무엇인가? vector, list, matrix, data frame
    • list일 경우 is.list()와 is.data.frame() 둘 다 TRUE로 출력됨 (list는 dataframe에 속하므로)
typeof(iris)

14.7 데이터유형 확인

  • 데이터의 유형이 무엇인가? vector, list, matrix, data frame
a <- matrix(c(1, 2, 3, 4))
is.vector(a)
is.list(a)
is.matrix(a)
is.data.frame(a)

14.8 변수 삭제

rm()

a <- "test"
rm(a)

14.9 File: Write to CSV

  • write.csv()
myData <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 3, byrow = T)
print(myData)
##      [,1] [,2]
## [1,]    1    2
## [2,]    3    4
## [3,]    5    6
write.csv(myData, "myData.csv", row.names = FALSE)

14.10 File: Read CSV

  • 방법1: File > Import Dataset
  • 방법2: read.csv()

방법 1

방법 1

Figure 14.1: 방법 1

방법 2

myCSVdata <- read.csv("myData.csv")
print(myCSVdata)
##   V1 V2
## 1  1  2
## 2  3  4
## 3  5  6
  • read.csv(“파일명”,header=T)
    • 폴더경로를 간편하게 작성하기 위해 csv파일을 working directory에 저장하길 추천
    • getwd()
      • 명령어를 써서 working directory경로를 알수 있다
      • 명령어로 출력된 경로를 복붙
    • header = T
      • 컬럼명이 맨 상단에 있다는 것을 알려줌
  • head()으로 데이터 맨위 6개만 출력해 봄
# csv파일을 헷갈리지 않게 working directory에 저장을 하고,
# 경로를 모르면 getwd()로 출력해볼수있음
getwd()  #working directory 경로출력
## [1] "/Users/jace/GoogleDrive/R/WorkingDirectory/Bigdata"
# Windows(윈도우) fruits1 <-
# read.csv('/Users/jace/GoogleDrive/R/WorkingDirectory/data/love_fruits.csv',header=T)
# # Windows

# Mac(맥)
fruits1 <- read.csv("/Users/jace/GoogleDrive/R/WorkingDirectory/data/love_fruits.csv", 
    header = T, stringsAsFactors = FALSE, fileEncoding = "euc-kr")

head(fruits1)  #csv에 무엇이 있는지 head()를 사용해서 맨 위 6개만 출력
##     이름 선호과일
## 1 주시현     사과
## 2 김우진   바나나
## 3 권승진     포도
## 4 김은경   복숭아
## 5 김두호     체리
## 6 양성은     사과

14.11 File: Write to txt (txt 파일로 저장)

write.table(my_data, file = “my_data.txt”, sep = “”)

data("mtcars")  # mtcars 데이터 불러오기
write.table(mtcars, file = "mtcars.txt", sep = "\t", row.names = TRUE, 
    col.names = NA)

14.12 File: Read txt (txt 파일 읽기)

readLines() - 줄단위로 읽음 (데이터가 컬럼으로 나뉘지 않았을 경우 사용) - 탭 (공백)이라는 의미

myTxt <- readLines("mtcars.txt")
head(myTxt)
## [1] "\"\"\t\"mpg\"\t\"cyl\"\t\"disp\"\t\"hp\"\t\"drat\"\t\"wt\"\t\"qsec\"\t\"vs\"\t\"am\"\t\"gear\"\t\"carb\""
## [2] "\"Mazda RX4\"\t21\t6\t160\t110\t3.9\t2.62\t16.46\t0\t1\t4\t4"                                            
## [3] "\"Mazda RX4 Wag\"\t21\t6\t160\t110\t3.9\t2.875\t17.02\t0\t1\t4\t4"                                       
## [4] "\"Datsun 710\"\t22.8\t4\t108\t93\t3.85\t2.32\t18.61\t1\t1\t4\t1"                                         
## [5] "\"Hornet 4 Drive\"\t21.4\t6\t258\t110\t3.08\t3.215\t19.44\t1\t0\t3\t1"                                   
## [6] "\"Hornet Sportabout\"\t18.7\t8\t360\t175\t3.15\t3.44\t17.02\t0\t0\t3\t2"

read.table() - 테이블로 읽음 (데이터가 컬럼으로 나뉘었을 경우 사용) - 탭 (공백)이라는 의미

myTxt <- read.table("mtcars.txt", header = T, sep = "\t")
head(myTxt)
##                   X  mpg cyl disp  hp drat    wt  qsec vs am gear carb
## 1         Mazda RX4 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## 2     Mazda RX4 Wag 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## 3        Datsun 710 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## 4    Hornet 4 Drive 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## 5 Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## 6           Valiant 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

14.13 mtcars 데이터셋에서 원하는 필드만 선택

원래의 데이터

input <- mtcars
print(head(input))
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

am cyl, hp, wt만 가져오기

input <- mtcars[, c("am", "cyl", "hp", "wt")]
print(head(input))
##                   am cyl  hp    wt
## Mazda RX4          1   6 110 2.620
## Mazda RX4 Wag      1   6 110 2.875
## Datsun 710         1   4  93 2.320
## Hornet 4 Drive     0   6 110 3.215
## Hornet Sportabout  0   8 175 3.440
## Valiant            0   6 105 3.460

2번째, 3번째, 4번째 컬럼만 가져오기

input <- mtcars[, c(2, 3, 4)]
print(head(input))
##                   cyl disp  hp
## Mazda RX4           6  160 110
## Mazda RX4 Wag       6  160 110
## Datsun 710          4  108  93
## Hornet 4 Drive      6  258 110
## Hornet Sportabout   8  360 175
## Valiant             6  225 105

14.14 timezone error 가 날경우 콘솔창에서 아래 넣기

Sys.setenv(TZ='GMT')