Chapter 14 etc
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
방법 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')