513 lines
9.6 KiB
R
513 lines
9.6 KiB
R
str(x3)
|
|
str(x7)
|
|
x7 = 'FLASE'
|
|
str(x7)
|
|
x6 = 'false' # character
|
|
str(x7)
|
|
x8 = 8.8
|
|
x8 = 8.8
|
|
str(x8)
|
|
xx1 <- c(1:100)
|
|
xx1
|
|
xx1 <- c(1:100)
|
|
xx1
|
|
is.na()
|
|
is.na(xx1)
|
|
table(is.na(xx1))
|
|
x1 = c(1,'love',TRUE,2+3i)
|
|
x1
|
|
install.packages('ggplot2')
|
|
install.packages('dplyr')
|
|
v1 = c(27,35,47,41)
|
|
mode(v1)
|
|
is.numeric(v1)
|
|
is.na(v1)
|
|
table(is.na(v1))
|
|
xx1 <- c(1:100)
|
|
v2 = c(27,35,47,NA,55)
|
|
mode(v2)
|
|
is.numeric(v2)
|
|
is.na(v2)
|
|
table(is.na(v1))
|
|
table(is.na(v1))
|
|
table(is.na(v1))
|
|
table(is.na(v2))
|
|
length(vw)
|
|
length(v1)
|
|
length(v2)
|
|
names(v1)
|
|
names(v1) = c('kim','lee','park','choi')
|
|
names(v1)
|
|
v1
|
|
v1[0]
|
|
## 기초 명령어 실습 ##
|
|
1+1
|
|
1:10
|
|
dd = c(1:10)
|
|
## c() -> 같은 종류의 요소(numeric, int, float등)만 있을때
|
|
## list() -> 다양한 종류의 요소가 들어올때
|
|
dd[-10]
|
|
## 기본유형 ##
|
|
x1 = 3 # numeric
|
|
x2 = "Love is choice" # character
|
|
x3 = FALSE # logical
|
|
x4 = 3-2i # complex
|
|
x5 = '123' # character
|
|
x6 = 'false' # character
|
|
x7 = 'FLASE' # character
|
|
str(x1)
|
|
### 문자 - 정수 - 논리
|
|
### 결측값은 95%까지
|
|
### 정규분포는 30번이상한것으로 해야한다
|
|
xx1 <- c(1:100)
|
|
xx1
|
|
is.na(xx1)
|
|
table(is.na(xx1))
|
|
x1 = c(1,'love',TRUE,2+3i)
|
|
x1
|
|
v1 = c(27,35,47,41)
|
|
mode(v1)
|
|
is.numeric(v1)
|
|
is.na(v1)
|
|
table(is.na(v1))
|
|
v2 = c(27,35,47,NA,55)
|
|
mode(v2)
|
|
is.numeric(v2)
|
|
is.na(v2)
|
|
table(is.na(v2))
|
|
length(v1)
|
|
length(v2)
|
|
names(v1)
|
|
names(v1) = c('kim','lee','park','choi')
|
|
names(v1)
|
|
## indexing ## 대괄호 == [ ] => 추출해라
|
|
v1
|
|
v1[1]
|
|
v1[1:3]
|
|
v1[-1]
|
|
v1[:-1]
|
|
v1[1:-1]
|
|
v1[-1]
|
|
v1[1:3]
|
|
v1[-4]
|
|
v1[1,3]
|
|
v1[3:-1]
|
|
v1[c(2,4)]
|
|
v1[-4]
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
v3 = v1+v2
|
|
v3 = v1+v2
|
|
v1 = 1:3
|
|
v2 = 1:6
|
|
v3 = v1+v2
|
|
v3
|
|
gender = c('m','f','f','m','f','f')
|
|
gender_facotr = factor(gender)
|
|
levels(gender_facotr)
|
|
gender = c('m','f','f','m','f','f')
|
|
gender_facotr = factor(gender)
|
|
levels(gender_facotr)
|
|
gender_factor2 = factor(gender, levels = c('m','f'), labels = c('남자','여자'))
|
|
gender_factor2
|
|
install.packages(c("cluster", "lattice", "viridisLite"))
|
|
gender_factor3
|
|
gender_factor3 = factor(gender,ordered = TRUE)
|
|
gender_factor3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = m2 cbind(v1,v2)
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = m2 cbind(v1,v2)
|
|
1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 =
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = cbind(v1,v2)
|
|
m2
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = cbind(v1,v2)
|
|
m1
|
|
m2
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = cbind(v1,v2)
|
|
v1
|
|
v2
|
|
m1
|
|
m2
|
|
m1[2,1]
|
|
m1[2,1] == 8
|
|
m1
|
|
[2,1] == 8
|
|
m1
|
|
m1
|
|
m1[2,1] == 8
|
|
m1[2,1] = 8
|
|
m1
|
|
m1[,3]
|
|
is.na(m1)
|
|
table(is.na(m1))
|
|
m1[1,1] = NA
|
|
m1
|
|
table(is.na(m1))
|
|
m1[2,3] = NA
|
|
table(is.na(m1))
|
|
str(m1)
|
|
m3 = matrix(1:4, nrow = 2,ncol = 2)
|
|
m3
|
|
m4 = matrix(1:4, nrow = 2,ncol = 2,byrow = TRUE)
|
|
m4
|
|
m3
|
|
m4
|
|
m4[2,1] = NA
|
|
a1 = array(1:10, dim=10)
|
|
a2 = array(1:10, dim=c(2, 5))
|
|
a3 = array(1:10, dim=c(3, 3, 4))
|
|
a1
|
|
a2
|
|
a3
|
|
a3[,,2][3,3]
|
|
a3[,,2][3,3] = 100
|
|
a3
|
|
id = 1:5
|
|
age = c(29, 32, 47, 35, 23)
|
|
gender = c('f','m','m','f','f')
|
|
height = c(163, 177, 172, 157, 169)
|
|
DF1 = data.frame(id, age, gender, height)
|
|
DF2 = data.frame(id, age, gender, height, stringsAsFactors=FALSE)
|
|
DF1
|
|
DF2
|
|
View(DF1)
|
|
str(DF1)
|
|
DF3 = data.frame(id, age, gender, height, stringsAsFactors=TRUE)
|
|
DF3
|
|
View(DF2)
|
|
View(DF3)
|
|
str(DF2)
|
|
str(DF3)
|
|
DF4 = DF3[-1]
|
|
DF4
|
|
View(DF4)
|
|
str(DF4)
|
|
install.packages('psych')
|
|
library(psych)
|
|
describe(DF4)
|
|
## 기초 명령어 실습 ##
|
|
1+1
|
|
1:10
|
|
dd = c(1:10)
|
|
## c() -> 같은 종류의 요소(numeric, int, float등)만 있을때
|
|
## list() -> 다양한 종류의 요소가 들어올때
|
|
dd[-10]
|
|
## 기본유형 ##
|
|
x1 = 3 # numeric
|
|
x2 = "Love is choice" # character
|
|
x3 = FALSE # logical
|
|
x4 = 3-2i # complex
|
|
x5 = '123' # character
|
|
x6 = 'false' # character
|
|
x7 = 'FLASE' # character
|
|
str(x1)
|
|
### 문자 - 정수 - 논리
|
|
### 결측값은 95%까지
|
|
### 정규분포는 30번이상한것으로 해야한다
|
|
xx1 <- c(1:100)
|
|
xx1
|
|
is.na(xx1)
|
|
table(is.na(xx1))
|
|
x1 = c(1,'love',TRUE,2+3i)
|
|
x1
|
|
v1 = c(27,35,47,41)
|
|
mode(v1)
|
|
is.numeric(v1)
|
|
is.na(v1)
|
|
table(is.na(v1))
|
|
v2 = c(27,35,47,NA,55)
|
|
mode(v2)
|
|
is.numeric(v2)
|
|
is.na(v2)
|
|
table(is.na(v2))
|
|
length(v1)
|
|
length(v2)
|
|
names(v1)
|
|
names(v1) = c('kim','lee','park','choi')
|
|
names(v1)
|
|
## Indexing ## 대괄호 == [ ] => 추출해라
|
|
v1
|
|
v1[1]
|
|
v1[1:3]
|
|
v1[-4]
|
|
v1[c(2,4)]
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
v3 = v1+v2 # can add list
|
|
v1 = 1:3
|
|
v2 = 1:6
|
|
v3 = v1+v2 # reusable add
|
|
v3
|
|
### 데이터거래사
|
|
## Factor, ordered Factor (등급을 정할 수 있는)
|
|
gender = c('m','f','f','m','f','f')
|
|
gender_factor = factor(gender)
|
|
levels(gender_factor)
|
|
gender_factor2 = factor(gender, levels = c('m','f'), labels = c('남자','여자'))
|
|
gender_factor2
|
|
gender_factor3 = factor(gender,ordered = TRUE)
|
|
gender_factor3
|
|
## Matrix ##
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = cbind(v1,v2)
|
|
v1
|
|
v2
|
|
m1
|
|
m2
|
|
m1[2,1] == 8
|
|
m1[2,1] = 8
|
|
m1[,3]
|
|
is.na(m1)
|
|
table(is.na(m1))
|
|
m1[1,1] = NA
|
|
m1[2,3] = NA
|
|
table(is.na(m1))
|
|
str(m1)
|
|
m3 = matrix(1:4, nrow = 2, ncol = 2)
|
|
m4 = matrix(1:4, nrow = 2, ncol = 2, byrow = TRUE)
|
|
m3
|
|
m4[2,1] = NA
|
|
## array ##
|
|
a1 = array(1:10, dim=10)
|
|
a2 = array(1:10, dim=c(2, 5))
|
|
a3 = array(1:10, dim=c(3, 3, 4))
|
|
a1
|
|
a2
|
|
a3[,,2][3,3] = 100
|
|
a3
|
|
## DataFrame ##
|
|
id = 1:5
|
|
age = c(29, 32, 47, 35, 23)
|
|
gender = c('f','m','m','f','f')
|
|
height = c(163, 177, 172, 157, 169)
|
|
DF1 = data.frame(id, age, gender, height)
|
|
DF2 = data.frame(id, age, gender, height, stringsAsFactors=FALSE)
|
|
DF3 = data.frame(id, age, gender, height, stringsAsFactors=TRUE)
|
|
DF1
|
|
DF2
|
|
DF3
|
|
View(DF3)
|
|
str(DF3)
|
|
DF4 = DF3[-1]
|
|
DF4
|
|
View(DF4)
|
|
str(DF4)
|
|
## 기술통계량 ##
|
|
library('psych')
|
|
describe(DF4)
|
|
rownames(DF1)
|
|
colnames(DF1)
|
|
rownames(DF1) = paste('R',1:5,sep='')
|
|
rownames(DF1)
|
|
rownames(DF1) = paste('Edge',1:5,sep='')
|
|
rownames(DF1)
|
|
rownames(DF1) = paste('Edge',1:5,sep='_')
|
|
rownames(DF1)
|
|
View(DF1)
|
|
colnames(DF1) = paste(c('id','나이','성별','키'))
|
|
colnames(DF1)
|
|
colnames(DF1) = paste('id','나이','성별','키')
|
|
colnames(DF1)
|
|
colnames(DF1) = paste(c('id','나이','성별','키'))
|
|
colnames(DF1) = paste(c('아이디','나이','성별','키'))
|
|
colnames(DF1)
|
|
str(DF1)
|
|
str(DF4)
|
|
dim(DF1)
|
|
install.packages("caret")
|
|
## 기술통계량 ##
|
|
library(psych)
|
|
describe(DF4)
|
|
search()
|
|
searchpaths()
|
|
## read text data ##
|
|
k200 = read.csv(file = './data/k100.csv',header = TRUE)
|
|
k200
|
|
## 기초 명령어 실습 ##
|
|
1+1
|
|
1:10
|
|
dd = c(1:10)
|
|
## c() -> 같은 종류의 요소(numeric, int, float등)만 있을때
|
|
## list() -> 다양한 종류의 요소가 들어올때
|
|
dd[-10]
|
|
## 기본유형 ##
|
|
x1 = 3 # numeric
|
|
x2 = "Love is choice" # character
|
|
x3 = FALSE # logical
|
|
x4 = 3-2i # complex
|
|
x5 = '123' # character
|
|
x6 = 'false' # character
|
|
x7 = 'FLASE' # character
|
|
str(x1)
|
|
### 문자 - 정수 - 논리
|
|
### 결측값은 95%까지
|
|
### 정규분포는 30번이상한것으로 해야한다
|
|
xx1 <- c(1:100)
|
|
xx1
|
|
is.na(xx1)
|
|
table(is.na(xx1))
|
|
x1 = c(1,'love',TRUE,2+3i)
|
|
x1
|
|
v1 = c(27,35,47,41)
|
|
mode(v1)
|
|
is.numeric(v1)
|
|
is.na(v1)
|
|
table(is.na(v1))
|
|
v2 = c(27,35,47,NA,55)
|
|
mode(v2)
|
|
is.numeric(v2)
|
|
is.na(v2)
|
|
table(is.na(v2))
|
|
length(v1)
|
|
length(v2)
|
|
names(v1)
|
|
names(v1) = c('kim','lee','park','choi')
|
|
names(v1)
|
|
## Indexing ## 대괄호 == [ ] => 추출해라
|
|
v1
|
|
v1[1]
|
|
v1[1:3]
|
|
v1[-4]
|
|
v1[c(2,4)]
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
v3 = v1+v2 # can add list
|
|
v1 = 1:3
|
|
v2 = 1:6
|
|
v3 = v1+v2 # reusable add
|
|
v3
|
|
### 데이터거래사
|
|
## Factor, ordered Factor (등급을 정할 수 있는)
|
|
gender = c('m','f','f','m','f','f')
|
|
gender_factor = factor(gender)
|
|
levels(gender_factor)
|
|
gender_factor2 = factor(gender, levels = c('m','f'), labels = c('남자','여자'))
|
|
gender_factor2
|
|
gender_factor3 = factor(gender,ordered = TRUE)
|
|
gender_factor3
|
|
## Matrix ##
|
|
v1 = 1:3
|
|
v2 = 4:6
|
|
m1 = rbind(v1,v2)
|
|
m2 = cbind(v1,v2)
|
|
v1
|
|
v2
|
|
m1
|
|
m2
|
|
m1[2,1] == 8
|
|
m1[2,1] = 8
|
|
m1[,3]
|
|
is.na(m1)
|
|
table(is.na(m1))
|
|
m1[1,1] = NA
|
|
m1[2,3] = NA
|
|
table(is.na(m1))
|
|
str(m1)
|
|
m3 = matrix(1:4, nrow = 2, ncol = 2)
|
|
m4 = matrix(1:4, nrow = 2, ncol = 2, byrow = TRUE)
|
|
m3
|
|
m4[2,1] = NA
|
|
## array ##
|
|
a1 = array(1:10, dim=10)
|
|
a2 = array(1:10, dim=c(2, 5))
|
|
a3 = array(1:10, dim=c(3, 3, 4))
|
|
a1
|
|
a2
|
|
a3[,,2][3,3] = 100
|
|
a3
|
|
## DataFrame ##
|
|
id = 1:5
|
|
age = c(29, 32, 47, 35, 23)
|
|
gender = c('f','m','m','f','f')
|
|
height = c(163, 177, 172, 157, 169)
|
|
DF1 = data.frame(id, age, gender, height)
|
|
DF2 = data.frame(id, age, gender, height, stringsAsFactors=FALSE)
|
|
DF3 = data.frame(id, age, gender, height, stringsAsFactors=TRUE)
|
|
DF1
|
|
DF2
|
|
DF3
|
|
View(DF3)
|
|
str(DF3)
|
|
DF4 = DF3[-1]
|
|
DF4
|
|
View(DF4)
|
|
str(DF4)
|
|
## 기술통계량 ##
|
|
library(psych)
|
|
describe(DF4)
|
|
rownames(DF1) = paste('Edge',1:5,sep='_')
|
|
rownames(DF1)
|
|
colnames(DF1) = paste(c('아이디','나이','성별','키'))
|
|
colnames(DF1)
|
|
dim(DF1)
|
|
searchpaths()
|
|
## read text data ##
|
|
k200 = read.csv(file = './data/k100.csv',header = TRUE)
|
|
k200
|
|
View(k200)
|
|
k300 = read.csv(file = './data/ebook.csv',header = TRUE)
|
|
View(k300)
|
|
tsv100 = read.table(file = './data/survey_tab.txt', header = TRUE, encoding = 'CP949')
|
|
tsv100 = read.table(file = './data/survey_tab.txt', header = TRUE, fileEncoding = 'CP949')
|
|
View(tsv100)
|
|
## data handling ##
|
|
library(ggplot2)
|
|
head(diamonds)
|
|
head(Titanic)
|
|
View(diamonds)
|
|
View(Titanic)
|
|
## data structure ##
|
|
str(diamonds)
|
|
str(Titanic)
|
|
View(diamonds)
|
|
head(diamonds)
|
|
## indexing ##
|
|
diamonds[ , 2]
|
|
diamonds[ , 2, drop=FALSE]
|
|
diamonds[ , c(2, 3, 7)]
|
|
diamonds[ , 7:10]
|
|
diamonds[ , seq(from=2, to=10, by=2)]
|
|
xx=diamonds[ , c(2, 3, 7)]
|
|
View(xx)
|
|
xx
|
|
ss = diamonds[,7]
|
|
describe(ss)
|
|
describe(diamonds)
|
|
diamonds[ , c('cut', 'price'
|
|
diamonds[ , 'cut']
|
|
diamonds[ , 'cut']
|
|
diamonds[ , c('cut', 'price')]
|
|
diamonds[diamonds$cut == 'Fair', ]
|
|
diamonds[diamonds$price >= 18000, ]
|
|
a
|
|
a = diamonds[diamonds$cut == 'Fair', ]
|
|
a
|
|
table(a)
|
|
= diamonds[diamonds$price >= 18000, ]
|
|
b
|
|
b = diamonds[diamonds$price >= 18000, ]
|
|
b
|
|
'Fair') & (diamonds$price >= 18000), ]
|
|
c = diamonds[(diamonds$cut == 'Fair') & (diamonds$price >= 18000), ]
|
|
d = diamonds[(diamonds$cut == 'Fair') | (diamonds$price >= 18000), ]
|
|
View(c)
|
|
View(d)
|